From e446060c5282d6df5dc173b6f627859503960b0c Mon Sep 17 00:00:00 2001 From: wanghaoyu <1580258873@qq.com> Date: Wed, 14 Aug 2024 09:36:40 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=E6=9C=AC=E5=9C=B0=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=8C=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=BD=91=E9=A1=B5url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 --- Src/GDDC/gddcSet.cpp | 3 ++- config.ini | 23 ++++++------------- homepagedlg.cpp | 42 ++++++++++++++++++++++++++++++++++ homepagedlg.h | 13 ++++++++++- homepagedlg.ui | 10 ++++++-- mainwindow.cpp | 54 +++++++++++++++++++++++++++++++++++++++----- mainwindow.h | 7 ++++-- 8 files changed, 124 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 3430194..5158189 100644 --- a/.gitignore +++ b/.gitignore @@ -3,11 +3,8 @@ app/ *.user *.a4cfdcc *.c21801a -<<<<<<< Updated upstream *.exe -======= *.tmp ->>>>>>> Stashed changes /.qm/ /.qtc_clangd/ /debug/ diff --git a/Src/GDDC/gddcSet.cpp b/Src/GDDC/gddcSet.cpp index e190d73..687916c 100644 --- a/Src/GDDC/gddcSet.cpp +++ b/Src/GDDC/gddcSet.cpp @@ -51,7 +51,8 @@ void GDDCSet::initParam() ui->radioButton_NetCtrlTCP->setChecked(false); //读取本机网络设备 - QString name = QDir::currentPath()+"/../../config.ini"; + QString urlFile = QCoreApplication::applicationDirPath()+"/config.ini"; + QString name = QDir::currentPath()+"./config.ini"; m_configIniPath = name.toLatin1(); char* strSysIniName = m_configIniPath.data();//系统配置文件路径 char inBuf[100]; diff --git a/config.ini b/config.ini index 2a3d6a0..088e0be 100644 --- a/config.ini +++ b/config.ini @@ -1,19 +1,10 @@ -[-] -ip=192.168.1.110 -ض˿=10000 -Զp=192.168.1.111 -Զ˶˿=10000 -[GDDC-NetControl] -localIP=123 -localPort=-1 [光电吊舱-网络控制] -本地IP=172.10.1.183 -本地Port=10001 -本地端口=10008 -远端ip=172.10.1.183 -远端Port=10002 +本地IP=-1 +本地Port=65535 +远端IP=-1 +远端Port=65535 [光电吊舱-视频连接-显示窗口2] -播放URL=rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid -播放Port=10003 +播放URL=33333 +播放Port=-1 [光电吊舱-视频连接-显示窗口1] -播放Port=123 +播放Port=-1 diff --git a/homepagedlg.cpp b/homepagedlg.cpp index e92fa10..b6a0223 100644 --- a/homepagedlg.cpp +++ b/homepagedlg.cpp @@ -1,9 +1,14 @@ #include "homepagedlg.h" #include "ui_homepagedlg.h" +#include +#include HomePageDlg::HomePageDlg(QWidget *parent) : QWidget(parent) , ui(new Ui::HomePageDlg) + , _lLinkIp("") + , _adHocNetwork("") + , _satelliteComm("") { ui->setupUi(this); QPalette palette; @@ -13,9 +18,46 @@ HomePageDlg::HomePageDlg(QWidget *parent) //嵌入到主窗口 setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint); hide(); + initSettingUrl(); } HomePageDlg::~HomePageDlg() { delete ui; } + +/************************************************* +* @func getUrl +* @brief 获取设备url +* @param +**************************************************/ +void HomePageDlg::getUrl(std::unordered_map& urlMap) +{ + urlMap = _urlMap; +} + +/************************************************* +* @func +* @brief 初始化配置文件 +* @param +* @return +**************************************************/ +void HomePageDlg::initSettingUrl() +{ + QString urlFile = QCoreApplication::applicationDirPath()+"/config.ini"; + std::unique_ptr configIni = std::make_unique(urlFile,QSettings::IniFormat); + + _lLinkIp = configIni->value("L链/IP").toString(); + _adHocNetwork = configIni->value("宽带自组网/IP").toString(); + _satelliteComm = configIni->value("机载卫通/IP").toString(); + + _urlMap.insert({"L链",_lLinkIp}); + _urlMap.insert({"宽带自组网",_adHocNetwork}); + _urlMap.insert({"机载卫通",_satelliteComm}); +} + +void HomePageDlg::on_pushButton_clicked() +{ + emit sendUrl(_urlMap); +} + diff --git a/homepagedlg.h b/homepagedlg.h index 71a77bb..c49ea6e 100644 --- a/homepagedlg.h +++ b/homepagedlg.h @@ -2,7 +2,7 @@ #define HOMEPAGEDLG_H #include - +#include namespace Ui { class HomePageDlg; } @@ -16,8 +16,19 @@ public: ~HomePageDlg(); QPixmap m_pixmap; + void getUrl(std::unordered_map& urlMap); private: Ui::HomePageDlg *ui; + void initSettingUrl(); + + QString _lLinkIp; + QString _adHocNetwork; + QString _satelliteComm; + std::unordered_map _urlMap; +signals: + void sendUrl(std::unordered_map urlMap); +private slots: + void on_pushButton_clicked(); }; #endif // HOMEPAGEDLG_H diff --git a/homepagedlg.ui b/homepagedlg.ui index 9b1dff6..10e8af0 100644 --- a/homepagedlg.ui +++ b/homepagedlg.ui @@ -6,10 +6,16 @@ 0 0 - 938 - 562 + 892 + 653 + + + 0 + 0 + + Form diff --git a/mainwindow.cpp b/mainwindow.cpp index 9d79a04..bfdce92 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -17,7 +17,7 @@ MainWindow::MainWindow(QWidget *parent) { ui->setupUi(this); - + initFile(); initWindow(); initButton(); // initMenuBar(); @@ -56,6 +56,18 @@ MainWindow::~MainWindow() delete ui; } +/** + * @brief MainWindow::initFile 初始化配置文件 .ini + */ +void MainWindow::initFile() +{ + QString urlFile = QCoreApplication::applicationDirPath()+"/config.ini"; + QFile file(urlFile); + if(!file.open(QIODevice::ReadWrite)) + { + return; + } +} void MainWindow::initWindow() { setWindowIcon(QIcon(":/res/SDFP.png")); @@ -72,13 +84,43 @@ void MainWindow::initWindow() m_HomePagedlg = new HomePageDlg(this); m_rescueLoadWidget = new RescueLoadWidget(this); + //使用信号槽函数获取配置文件中的IP + connect(m_HomePagedlg, &HomePageDlg::sendUrl, this, [](std::unordered_map urlMap){ + qDebug() << "L链" << urlMap["L链"]; + qDebug() << "宽带自组网" << urlMap["宽带自组网"]; + qDebug() << "机载卫通" << urlMap["机载卫通"]; + }); + + //使用类中的get方法获取配置文件中的IP + + m_HomePagedlg->getUrl(m_urlMap); + + qDebug() << "=============设备配置================"; + qDebug() << "L链" << m_urlMap["L链"]; + qDebug() << "宽带自组网" << m_urlMap["宽带自组网"]; + qDebug() << "机载卫通" << m_urlMap["机载卫通"]; + mWeb = new CWebEngineView(); mWeb->setPage(new CustomWebEnginePage()); mWeb->load(QUrl("http://192.168.150.1")); - // mWeb = new QWebEngineView(this); + + lLinkWeb = new CWebEngineView(); + lLinkWeb->setPage(new CustomWebEnginePage()); + lLinkWeb->load(QUrl(m_urlMap["L链"])); + + adHocNetworkWeb = new CWebEngineView(); + adHocNetworkWeb->setPage(new CustomWebEnginePage()); + adHocNetworkWeb->load(QUrl(m_urlMap["宽带自组网"])); + + satelliteCommWeb = new CWebEngineView(); + satelliteCommWeb->setPage(new CustomWebEnginePage()); + satelliteCommWeb->load(QUrl(m_urlMap["机载卫通"])); // 设置栈窗口,多页面共享同一窗口 ui->stackedWidget->addWidget(mWeb); + ui->stackedWidget->addWidget(lLinkWeb); + ui->stackedWidget->addWidget(adHocNetworkWeb); + ui->stackedWidget->addWidget(satelliteCommWeb); ui->stackedWidget->addWidget(m_GDDCdlg); ui->stackedWidget->addWidget(m_HomePagedlg); ui->stackedWidget->addWidget(m_rescueLoadWidget); @@ -113,7 +155,7 @@ void MainWindow::initButton() ui->toolButton_3->setText("L链"); ui->toolButton_4->setText("自组网"); ui->toolButton_5->setText("PDT集群"); - ui->toolButton_6->setText("Ku卫通"); + ui->toolButton_6->setText("机载卫通"); ui->toolButton_7->setText("搜救载荷"); ui->toolButton_8->setText("三维建模"); ui->toolButton->setFixedWidth(FixedWidth); @@ -252,7 +294,7 @@ void MainWindow::toolButton_3_clicked() { changeBtnColor(3); // mWeb->load(QUrl("http://192.168.1.10")); - ui->stackedWidget->setCurrentWidget(mWeb); + ui->stackedWidget->setCurrentWidget(lLinkWeb); } //自组网 @@ -261,7 +303,7 @@ void MainWindow::toolButton_4_clicked() changeBtnColor(4); // mWeb->load(QUrl("http://192.168.1.10")); // mWeb->show(); - ui->stackedWidget->setCurrentWidget(mWeb); + ui->stackedWidget->setCurrentWidget(adHocNetworkWeb); //process->kill(); } @@ -280,7 +322,7 @@ void MainWindow::toolButton_6_clicked() changeBtnColor(6); // mWeb->load(QUrl("http://192.168.0.2")); // mWeb->show(); - ui->stackedWidget->setCurrentWidget(mWeb); + ui->stackedWidget->setCurrentWidget(satelliteCommWeb); } diff --git a/mainwindow.h b/mainwindow.h index 4c2257c..720e795 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -32,7 +32,7 @@ public: private: Ui::MainWindow *ui; - + void initFile(); public: void initWindow(); void initButton(); @@ -55,11 +55,14 @@ public: RescueLoadWidget *m_rescueLoadWidget; //QWeb *m_qWeb; QWebEngineView *mWeb; + QWebEngineView *lLinkWeb;//L链 + QWebEngineView *adHocNetworkWeb;//自组网 + QWebEngineView *satelliteCommWeb;//卫通 private: QProcess *process; QString exeDirPathName = ""; - + std::unordered_map m_urlMap; public: void changeBtnColor(int num);