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 0000000..bc1fe79 Binary files /dev/null and b/res/left.png differ diff --git a/res/right.png b/res/right.png new file mode 100644 index 0000000..c9845f0 Binary files /dev/null and b/res/right.png differ