From cb9463f7058885c7d8581f24752f4edd08323730 Mon Sep 17 00:00:00 2001 From: caoyuhui <1152604503@qq.com> Date: Sat, 3 Aug 2024 16:34:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=8A=B6=E6=80=81=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E9=A1=B5=E9=9D=A2=E9=9A=90=E8=97=8F=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/GDDC/gddcCmdDlg.ui | 9 +++++ Src/GDDC/gddcdlg.cpp | 80 ++++++++++++++++++++++++++++------------- Src/GDDC/gddcdlg.h | 18 +++++----- Src/GDDC/gddcdlg.ui | 15 +++++++- mainwindow.qrc | 2 ++ res/left.png | Bin 0 -> 1591 bytes res/right.png | Bin 0 -> 1598 bytes 7 files changed, 90 insertions(+), 34 deletions(-) create mode 100644 res/left.png create mode 100644 res/right.png diff --git a/Src/GDDC/gddcCmdDlg.ui b/Src/GDDC/gddcCmdDlg.ui index f8d6733..0950da2 100644 --- a/Src/GDDC/gddcCmdDlg.ui +++ b/Src/GDDC/gddcCmdDlg.ui @@ -10,9 +10,18 @@ 284 + + + 0 + 0 + + Form + + + true diff --git a/Src/GDDC/gddcdlg.cpp b/Src/GDDC/gddcdlg.cpp index ccba303..11164fe 100644 --- a/Src/GDDC/gddcdlg.cpp +++ b/Src/GDDC/gddcdlg.cpp @@ -8,7 +8,8 @@ #include #define CONFIG_PATH "config.ini" - +#define CMDPAGEHIGHT 250 +#define STATEPAGEWIDTH 250 GDDCdlg::GDDCdlg(QWidget *parent) : QWidget(parent) @@ -35,7 +36,7 @@ GDDCdlg::~GDDCdlg() delete m_DlgGDDCSet; delete m_GDDCCmdDlg; - delete m_GDDCStateInfo; + delete m_GDDCStateDlg; delete ui; } @@ -52,16 +53,21 @@ void GDDCdlg::initWindow() m_DlgGDDCSet = new GDDCSet(); m_GDDCCmdDlg = new GDDCCmdDlg(this); - m_GDDCStateInfo = new GDDCStateInfo(this); + m_GDDCStateDlg = new GDDCStateInfo(this); } //初始化参数 void GDDCdlg::initParam() { + pointSelectionTracking = false; + Is_openVideo = false; + isCmdPageShow = true; + isStatePageShow = true; m_DCcmdBuffer.resize(cmdLength); detectionAreaSetting = false; connectFlag.resize(10,false); - ui->pushButShowCmdArea->setIcon(QIcon(":/res/down.png")); + ui->pushButShowCmdPage->setIcon(QIcon(":/res/down.png")); + ui->pushButShowStatePage->setIcon(QIcon(":/res/right.png")); } @@ -77,7 +83,8 @@ void GDDCdlg::initSignalSlot() //connect(ui->pushButtonSet, QOverload::of(&QPushButton::clicked),this,&::GDDCdlg::pushButtonSet_clicked); //方式四 //connect(ui->pushButtonSet,&QPushButton::clicked,[=](bool check){pushButtonSet_clicked();}); - connect(ui->pushButShowCmdArea,SIGNAL(clicked()),this,SLOT(pushButShowCmdArea_clicked())); //隐藏显示按钮 + connect(ui->pushButShowCmdPage,SIGNAL(clicked()),this,SLOT(pushButShowCmdPage_clicked())); //控制页面隐藏显示按钮 + connect(ui->pushButShowStatePage,SIGNAL(clicked()),this,SLOT(pushButShowStatePage_clicked())); //状态页面隐藏显示按钮 connect(m_DlgGDDCSet,SIGNAL(SignalStartConnect(int)),this,SLOT(startConnect(int))); //开始连接 connect(m_DlgGDDCSet,SIGNAL(SignalStopConnect(int)),this,SLOT(stopConnect(int))); //停止连接 @@ -245,19 +252,23 @@ void GDDCdlg::resizeUI() /******控制区位置和大小设置*****/ double cmdAreaHeight; - double cmdAreaWidth = GDDCPageWidth-250; - - if(m_GDDCCmdDlg->isVisible()){cmdAreaHeight = 250;} + double cmdAreaWidth; + if(m_GDDCStateDlg->isVisible()){cmdAreaWidth = GDDCPageWidth-STATEPAGEWIDTH;} + else{cmdAreaWidth = GDDCPageWidth;} + if(m_GDDCCmdDlg->isVisible()){cmdAreaHeight = CMDPAGEHIGHT;} else{cmdAreaHeight = 0;} m_GDDCCmdDlg->setGeometry(0,GDDCPageHeight-cmdAreaHeight,(int)cmdAreaWidth,(int)cmdAreaHeight); m_GDDCCmdDlg->ui->tabWidget->setGeometry(0,0,(int)cmdAreaWidth,(int)cmdAreaHeight); + + /*********状态区位置和大小设置***********/ double stateAreaHeight = GDDCPageHeight; double stateAreaWidth; - if(m_GDDCStateInfo->isVisible()){stateAreaWidth = 250;} + if(m_GDDCStateDlg->isVisible()){stateAreaWidth = STATEPAGEWIDTH;} else{stateAreaWidth = 0;} - m_GDDCStateInfo->setGeometry(GDDCPageWidth-stateAreaWidth,0,stateAreaWidth,stateAreaHeight); - m_GDDCStateInfo->ui->tableViewShowIState->setGeometry(0,0,stateAreaWidth,stateAreaHeight); + m_GDDCStateDlg->setGeometry(GDDCPageWidth-stateAreaWidth,0,stateAreaWidth,stateAreaHeight); + m_GDDCStateDlg->ui->tableViewShowIState->setGeometry(0,0,stateAreaWidth,stateAreaHeight); + /*******视频区位置和大小设置********/ double VideoAreaHeight = GDDCPageHeight-cmdAreaHeight; //视频区高度 @@ -280,9 +291,13 @@ void GDDCdlg::resizeUI() /**************设置按钮****************/ ui->pushButtonSet->setGeometry(GDDCPageWidth-stateAreaWidth-45,0,40,40); - /**********控制指令区显示隐藏按钮********/ - ui->pushButShowCmdArea->setGeometry((GDDCPageWidth-200)*0.5,GDDCPageHeight-cmdAreaHeight-20,40,20); - ui->pushButShowCmdArea->raise(); + /**********控制页显示隐藏按钮********/ + ui->pushButShowCmdPage->setGeometry(cmdAreaWidth*0.5,GDDCPageHeight-cmdAreaHeight-20,50,20); + ui->pushButShowCmdPage->raise(); + + /**********状态页显示隐藏按钮********/ + ui->pushButShowStatePage->setGeometry(GDDCPageWidth-stateAreaWidth-20,(stateAreaHeight-cmdAreaHeight)*0.5,20,50); + ui->pushButShowStatePage->raise(); } @@ -477,29 +492,44 @@ void GDDCdlg::UDPMessageReceive() udpSocket->readDatagram(data.data(),data.size(),&addr,&port); //吊舱状态数据更新 - m_GDDCStateInfo->UDPMessageReceive(data,data.size()); + m_GDDCStateDlg->UDPMessageReceive(data,data.size()); } //控制页面隐藏与显示 -void GDDCdlg::pushButShowCmdArea_clicked() +void GDDCdlg::pushButShowCmdPage_clicked() { - if(isCmdAreaShow) + if(isCmdPageShow) { m_GDDCCmdDlg->setVisible(false); - m_GDDCStateInfo->setVisible(false); - isCmdAreaShow = false; + isCmdPageShow = false; resizeUI(); - ui->pushButShowCmdArea->setIcon(QIcon(":/res/up.png")); + ui->pushButShowCmdPage->setIcon(QIcon(":/res/up.png")); //ui->pushButton->setGeometry(this->width()/2,this->height()-50,50,50); } else { m_GDDCCmdDlg->setVisible(true); - m_GDDCStateInfo->setVisible(true); - isCmdAreaShow = true; + isCmdPageShow = true; resizeUI(); - ui->pushButShowCmdArea->setIcon(QIcon(":/res/down.png")); - + ui->pushButShowCmdPage->setIcon(QIcon(":/res/down.png")); + //ui->pushButton->setGeometry(this->width()/2,ui->tabWidget->height(),50,50); + } +} +//状态页面隐藏与显示 +void GDDCdlg::pushButShowStatePage_clicked() +{ + if(isStatePageShow) + { + m_GDDCStateDlg->setVisible(false); + isStatePageShow = false; + resizeUI(); + ui->pushButShowStatePage->setIcon(QIcon(":/res/left.png")); + } + else + { + m_GDDCStateDlg->setVisible(true); + isStatePageShow = true; + resizeUI(); + ui->pushButShowStatePage->setIcon(QIcon(":/res/right.png")); //ui->pushButton->setGeometry(this->width()/2,ui->tabWidget->height(),50,50); } } - diff --git a/Src/GDDC/gddcdlg.h b/Src/GDDC/gddcdlg.h index 11e136c..db820c0 100644 --- a/Src/GDDC/gddcdlg.h +++ b/Src/GDDC/gddcdlg.h @@ -19,7 +19,7 @@ #include "gddcCmdDlg.h" //吊舱控制对话框 #include "ui_gddcCmdDlg.h" //吊舱控制对话框ui #include "gddcStateInfo.h" //吊舱状态信息显示对话框 -#include "ui_gddcStateInfo.h" 吊舱状态信息显示对话框 +#include "ui_gddcStateInfo.h" //吊舱状态信息显示对话框 #define cmdLength 44 namespace Ui { @@ -47,7 +47,7 @@ public: GDDCSet *m_DlgGDDCSet; //光电吊舱设置对话框 GDDCCmdDlg *m_GDDCCmdDlg; //光电吊舱控制对话框 - GDDCStateInfo *m_GDDCStateInfo;//光电吊舱状态数据对话框 + GDDCStateInfo *m_GDDCStateDlg;//光电吊舱状态数据对话框 public: QByteArray m_DCcmdBuffer;//存储吊舱控制指令 void UpdateDataTJDC(); @@ -80,18 +80,20 @@ public: void startConnectTCPCtrl(); void stopConnectTCPCtrl(); public: - bool pointSelectionTracking = false; //选点跟踪 - bool Is_openVideo = false;//视频是否已打开,默认未打开 - std::vector connectFlag; // 0,视频流1;1,视频流2;2,串口通信,3网口通信 - bool isCmdAreaShow = true;//控制区域是否显示 - bool detectionAreaSetting;//检测区域设置 + bool pointSelectionTracking; //选点跟踪 + bool Is_openVideo; //视频是否已打开,默认未打开 + std::vector connectFlag; // 0,视频流1;1,视频流2;2,串口通信,3网口通信 + bool isCmdPageShow; //控制页是否显示 + bool isStatePageShow; //状态页是否显示 + bool detectionAreaSetting; //检测区域设置 public slots: void GDDCControlTimeOut(); void startConnect(int); //开始连接 void stopConnect(int); //停止连接 void UDPMessageReceive(); //udp数据接收 void pushButtonSet_clicked(); - void pushButShowCmdArea_clicked(); + void pushButShowCmdPage_clicked(); + void pushButShowStatePage_clicked(); }; #endif // GDDCDLG_H diff --git a/Src/GDDC/gddcdlg.ui b/Src/GDDC/gddcdlg.ui index 80c66b1..2d891ac 100644 --- a/Src/GDDC/gddcdlg.ui +++ b/Src/GDDC/gddcdlg.ui @@ -101,7 +101,7 @@ background-color: rgb(85, 85, 127); - + 470 @@ -157,6 +157,19 @@ + + + + 630 + 320 + 80 + 20 + + + + + + diff --git a/mainwindow.qrc b/mainwindow.qrc index 44c41eb..c22cc4f 100644 --- a/mainwindow.qrc +++ b/mainwindow.qrc @@ -16,5 +16,7 @@ res/down.png res/up.png res/981csNew.png + res/left.png + res/right.png diff --git a/res/left.png b/res/left.png new file mode 100644 index 0000000000000000000000000000000000000000..bc1fe79ceb27c920c493fc525b0270bd9247fcc8 GIT binary patch literal 1591 zcmV-72FUq|P)Px)@kvBMRCr$Pn_FxYRT#(r-z=nx*FM?tD5ct&N!@ zyR$p9)5dw7bNPP1Ip@r|%n-)nwR_=&$fO_cV^Avt$6@jNc`e)K28G;Ys%M_Y-WeBi zvCziA;*mHQKeAGoosakTR~p-x5-_DJ)}(~2Hh|{;8fE@lDL#^9Mw zkV;XxYGD4MZ^os7a9S)RhTX?6bpj-yBbP8*DuuVx2fhnL^ytkDdK18Tj)07^k z10Q$+;dFEbF-b>v0&U7AGHcz!2U1yBuD z%Ehysrs-Bl>61@zusNq04^t` zbcfdMQMH>`s?Fo71=y8NNyp|W%stWoh#xoO*=MQ^(ChrJ1=xXw(=(Q1FfvfN`6t8S?vHk)JNta{+ceQ}ozk1^khWg@OC? z3F9@7StZjHpK1;3VgUhPNUI|}X2uQs5XINamliNgr1nIwhDCd&ErI#@yq0~$PXoRR zu)!kTmo>8z`U=2gXHeQ=CNlT>CBb(AHrOTI&5we^9dt4E{H33GmqK}EzhpHw15$s4N%k@qMZQU;@A>^G!KPZ2N(27m)zBw zsjq<3(W`p&b%133{yT*!>D5_cAOw^KM?JQY!H#DL4CDYLy*Nz{i~w6gSQk$a@T6qM z@_Xrn$++=hwatEX{y+(^15?vtHCVcS02nphb`P9@k_0`v5}+-zCtb^3=RgWLJtiz? z@OJssxi-7bffZ1akQO&FumkM;ZxboBF*i5kxaUyrI1y+8rGc?Kx`;xwUHVz=c>ZZ> zWD(WdbPbA%{g=q)PEU4R|28)aT>8Ko#dd(Mb&_CNh!4&)G_ zqTT5WG-kfj%@5RLN`Nh+X>ZfHCx(=EVl4Sb4)+fg3W=YtJ7ShQ_zkBUa{@|%cOVp* pD%LWP1W*LEi$Z literal 0 HcmV?d00001 diff --git a/res/right.png b/res/right.png new file mode 100644 index 0000000000000000000000000000000000000000..c9845f04b331cb640f75b10ba763236ee32134a9 GIT binary patch literal 1598 zcmV-E2EqA>P)Px)_(?=TRCr$Hn`vwmWf;f*&uqDjAG{*FOKGq>%M~@@vh3_4R1*(85+#b1LQo7I zKs*D)D2iwd-WrhLfoCYKF%iFDqDG|cwABWTkwn;8N({_Q#YBh(fp+FGGi{9t%&?uE zof&Yy?!5Cnzu$Y#%=;2b_>F28E6rZI*<|eQo{{e;;Z~s)C9jbaa(WZMOa3iS=pe=e zs-*1pde1P*c@l6*=Y+(NlRfIG3G)G%v4vW0Uvn5RUSfI@kd(zq4D50Uco^V?npF7G zOF}`H@g|@%c^;n}u?L_r4hjDaffi`f^PdF`G}w5a1Xw{5?ddseasvTFoPsj(B0W?1 zaIi@QdA(-=wgfqK1DF~>xWG{YW2v51-UnH(uR+W^eg90lyjxPeNU`cuGc!p`Ugh`GP2(PFaVQO1bhP1H&x|*EuFY_(aPn3yMjw z+}HRnz)E=Ho{2;MINGxn;M*Jl7@yOyWAoLi>alV|y4}Al0tNym+Qg5+sCSX@6_3Dt zeX?>mED2>5&_7LX0{!Qq=~PnLjK%7^YxZ`9A))L7YzeaXDu73v02%xfGv;?^3qJ=f zArJw!gtpXLFg@wAPAC{A>brAFdyo@O z%bDp-7r?)WQLko|Z9zx~TtI(IxQBuFTmYFs^{SM&R+eS`g(AQr8rhPXD+uC7m(xIK0xYO_NBSl*cq@SOUB-n+wT$vwxg>-tz?RS^<!5fJ>dHNm{K-`L*Sc z5V`@bA1lSUGiW8~AZV8t=w*+j^C1shP5+WnOo*g=? ztGGvK0;9%p!NmN5nl0SzmxM?Ou%JeDjK7$T-X;dFae@3)J5gDO+8w>6iin&53uw%@ zV}>6eR?$SjEiQoDhn?uHJ5YPzNGTE`DPRC7-j;44=DS<~cg7&p9hCMR@+u+H0xYP6 zEWQh1u?yfXGL1Sl*R|J+gvbl%laP8Hpod%lcW9DQd(H~5CA5mqgYbmo6ltJVpP}p+ ztc0_o1^n*?6ww8a2u!tyviTp+xfYOU72g5jUdM$I;i#HX9KTJTNl2u-KtfJ!0cf5J z#C}auQfGp6`#+Kb?1j+Kibf*b>YP0Pph<8D(~< z@R1XcY_6_Ch0w^1=`QfTepZW23rMu3CxF>{9KOP(*}tJlg@^s9`GI>xLO`OWdMX6_ zg-Ep{9Me-;HvgQT@R8^Oaao*6uwR6XbX?^z9@MkSM!(@h7Z7i$o=tr<@Ay)bP0ZDE zN>e%DLlqF0#XI_I-tD#cjpg2N7|IwBZ%r>E;`d!^m1(Ay&F?H%&4)G!#$|CS0qb4C zV&*ihW`Ae7;REji$=37=CSK<<$D3^6N%2U%mw}zLojCjHodDmsG1LK3`oeSjQ}}siz903F@)K_=l1>?GqV=>k#ewWNnV75QlrJJn-k+E!0g3k1 z6qt1S$5nz(pap6s|8>;iJ$HfR_o>m`OTV55u#3R;s#K8A26)c`tb(WcY_&^ZTI}Tm wWtg%&b%B9|