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(PFa&*Z
z3*tK81lSV3OO56s)BqssoIG#Rq{96{z!ek2R{>VQO1bhP1H&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>?G~+KtdKj
z0^qhCZku*cnS(oFgaKbR0e#!#PBZ{?yW{E(*sM#6+uPniocKNlR5e#!*b^ISefPiK
z1%ACQDa!*PJVOv)1=xqE3~m5X&UszWFY4LC$|%75+69s=qV=>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|