fix: [光电吊舱]修复设置页参数某些情况下保存失效的问题

dev
cbwu
parent 94e065fd8e
commit 6b1ec94a5c

@ -14,7 +14,7 @@ QMAKE_PROJECT_DEPTH = 0
# QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"
#程序版本
VERSION = 1.1.0.3
VERSION = 1.1.0.4
#程序版本
QMAKE_TARGET_COMPANY = "HTSDFP"

@ -63,7 +63,8 @@ void GDDCSet::initParam() {
ui->radioButton_NetCtrlTCP->setChecked(false);
// 读取本机网络设备
QString urlFile = QCoreApplication::applicationDirPath() + "/config.ini";
QString urlFile =
QCoreApplication::applicationDirPath() + "/config_pod.ini";
// QString urlFile = QDir::currentPath() + "./config.ini";
m_configIniPath = urlFile.toLatin1();
char *strSysIniName = m_configIniPath.data(); // 系统配置文件路径

@ -1,104 +1,111 @@
#include "homepagesetingwidget.h"
#include "ui_homepagesetingwidget.h"
HomePageSetingWidget::HomePageSetingWidget(QWidget *parent)
: QWidget(parent), ui(new Ui::HomePageSetingWidget) {
ui->setupUi(this);
init();
ui->setupUi(this);
init();
}
HomePageSetingWidget::~HomePageSetingWidget() {
delete ui;
}
HomePageSetingWidget::~HomePageSetingWidget() { delete ui; }
void HomePageSetingWidget::init() {
// 选择配置文件
urlFile = QCoreApplication::applicationDirPath() + "/config.ini";
_configIni = std::make_unique<QSettings>(urlFile, QSettings::IniFormat);
// 选择配置文件
urlFile = QCoreApplication::applicationDirPath() + "/config.ini";
_configIni = std::make_unique<QSettings>(urlFile, QSettings::IniFormat);
// 读取配置信息
_GDDC.net.remoteIp = _configIni->value("光电吊舱/IP").toString();
_GDDC.net.remotePort = _configIni->value("光电吊舱/Port").toInt();
_lLink.url = _configIni->value("L链/IP").toString();
_adHocNetwork.url = _configIni->value("宽带自组网/IP").toString();
_satelliteComm.url = _configIni->value("机载卫通/IP").toString();
_ModelCamera.net.remoteIp = _configIni->value("三维建模/remoteIp").toString();
_ModelCamera.net.remotePort =
_configIni->value("三维建模/remotePort").toInt();
_ModelCamera.net.localIp = _configIni->value("三维建模/localIp").toString();
_ModelCamera.net.localPort = _configIni->value("三维建模/localPort").toInt();
// 读取配置信息
_GDDC.net.remoteIp = _configIni->value("Pod/IP").toString();
_GDDC.net.remotePort = _configIni->value("Pod/Port").toInt();
_lLink.url = _configIni->value("L-Link/IP").toString();
_adHocNetwork.url = _configIni->value("HocNetwork/IP").toString();
_satelliteComm.url = _configIni->value("SatelliteComm/IP").toString();
_ModelCamera.net.remoteIp =
_configIni->value("ModelCamera/remoteIp").toString();
_ModelCamera.net.remotePort =
_configIni->value("ModelCamera/remotePort").toInt();
_ModelCamera.net.localIp =
_configIni->value("ModelCamera/localIp").toString();
_ModelCamera.net.localPort =
_configIni->value("ModelCamera/localPort").toInt();
// 存储配置信息到MAP容器中
_allParamMap.insert({"光电吊舱", _GDDC});
_allParamMap.insert({"L", _lLink});
_allParamMap.insert({"宽带自组网", _adHocNetwork});
_allParamMap.insert({"机载卫通", _satelliteComm});
_allParamMap.insert({"三维建模", _ModelCamera});
// 存储配置信息到MAP容器中
_allParamMap.insert({"Pod", _GDDC});
_allParamMap.insert({"L-Link", _lLink});
_allParamMap.insert({"HocNetwork", _adHocNetwork});
_allParamMap.insert({"SatelliteComm", _satelliteComm});
_allParamMap.insert({"ModelCamera", _ModelCamera});
// 显示到配置页面
ui->GDDCLineEdit->setText(_GDDC.net.remoteIp);
ui->lLinkLineEdit->setText(_lLink.url);
ui->netLineEdit->setText(_adHocNetwork.url);
ui->sateliteLineEdit->setText(_satelliteComm.url);
ui->modelCameraLineEditRemoteIp->setText(_ModelCamera.net.remoteIp);
ui->modelCameraLineEditRemotePort->setText(
QString::number(_ModelCamera.net.remotePort));
ui->modelCameraLineEditLocalIp->setText(_ModelCamera.net.localIp);
ui->modelCameraLineEditLocalPort->setText(
QString::number(_ModelCamera.net.localPort));
// 显示到配置页面
ui->GDDCLineEdit->setText(_GDDC.net.remoteIp);
ui->lLinkLineEdit->setText(_lLink.url);
ui->netLineEdit->setText(_adHocNetwork.url);
ui->sateliteLineEdit->setText(_satelliteComm.url);
ui->modelCameraLineEditRemoteIp->setText(_ModelCamera.net.remoteIp);
ui->modelCameraLineEditRemotePort->setText(
QString::number(_ModelCamera.net.remotePort));
ui->modelCameraLineEditLocalIp->setText(_ModelCamera.net.localIp);
ui->modelCameraLineEditLocalPort->setText(
QString::number(_ModelCamera.net.localPort));
// 发送消息到其他页面
emit sendOneSet(GDDC, _GDDC);
emit sendOneSet(L_Link, _lLink);
emit sendOneSet(Adhoc_Network, _adHocNetwork);
emit sendOneSet(Satelite_Comm, _satelliteComm);
emit sendOneSet(ModelCamera, _ModelCamera);
// 发送消息到其他页面
emit sendOneSet(GDDC, _GDDC);
emit sendOneSet(L_Link, _lLink);
emit sendOneSet(Adhoc_Network, _adHocNetwork);
emit sendOneSet(Satelite_Comm, _satelliteComm);
emit sendOneSet(ModelCamera, _ModelCamera);
}
void HomePageSetingWidget::on_GDDCPushButton_clicked() {
// 写参数到配置文件
_GDDC.net.remoteIp = ui->GDDCLineEdit->text();
_configIni->setValue("光电吊舱/IP", _GDDC.net.remoteIp);
emit sendOneSet(GDDC, _GDDC);
// 写参数到配置文件
_GDDC.net.remoteIp = ui->GDDCLineEdit->text();
_configIni->setValue("Pod/IP", _GDDC.net.remoteIp);
emit sendOneSet(GDDC, _GDDC);
}
void HomePageSetingWidget::on_lLinkButton_clicked() {
// 写参数到配置文件
_lLink.url = ui->lLinkLineEdit->text();
_configIni->setValue("L/IP", _lLink.url);
emit sendOneSet(L_Link, _lLink);
// 写参数到配置文件
_lLink.url = ui->lLinkLineEdit->text();
_configIni->setValue("L-Link/IP", _lLink.url);
emit sendOneSet(L_Link, _lLink);
}
void HomePageSetingWidget::on_netButton_clicked() {
// 写参数到配置文件
_adHocNetwork.url = ui->netLineEdit->text();
_configIni->setValue("宽带自组网/IP", _adHocNetwork.url);
emit sendOneSet(Adhoc_Network, _adHocNetwork);
// 写参数到配置文件
_adHocNetwork.url = ui->netLineEdit->text();
_configIni->setValue("HocNetwork/IP", _adHocNetwork.url);
emit sendOneSet(Adhoc_Network, _adHocNetwork);
}
void HomePageSetingWidget::on_sateliteButton_clicked() {
// 写参数到配置文件
_satelliteComm.url = ui->sateliteLineEdit->text();
_configIni->setValue("机载卫通/IP", _satelliteComm.url);
emit sendOneSet(Satelite_Comm, _satelliteComm);
// 写参数到配置文件
_satelliteComm.url = ui->sateliteLineEdit->text();
_configIni->setValue("SatelliteComm/IP", _satelliteComm.url);
emit sendOneSet(Satelite_Comm, _satelliteComm);
}
// 三维相机
void HomePageSetingWidget::on_modelCameraButton_clicked() {
// 写参数到配置文件
_ModelCamera.net.remoteIp = ui->modelCameraLineEditRemoteIp->text();
_ModelCamera.net.remotePort =
ui->modelCameraLineEditRemotePort->text().toInt();
_ModelCamera.net.localIp = ui->modelCameraLineEditLocalIp->text();
_ModelCamera.net.localPort = ui->modelCameraLineEditLocalPort->text().toInt();
_configIni->setValue("三维建模/remoteIp", _ModelCamera.net.remoteIp);
_configIni->setValue("三维建模/remotePort", _ModelCamera.net.remotePort);
_configIni->setValue("三维建模/localIp", _ModelCamera.net.localIp);
_configIni->setValue("三维建模/localPort", _ModelCamera.net.localPort);
emit sendOneSet(ModelCamera, _ModelCamera);
// 写参数到配置文件
_ModelCamera.net.remoteIp = ui->modelCameraLineEditRemoteIp->text();
_ModelCamera.net.remotePort =
ui->modelCameraLineEditRemotePort->text().toInt();
_ModelCamera.net.localIp = ui->modelCameraLineEditLocalIp->text();
_ModelCamera.net.localPort =
ui->modelCameraLineEditLocalPort->text().toInt();
_configIni->setValue("ModelCamera/remoteIp", _ModelCamera.net.remoteIp);
_configIni->setValue("ModelCamera/remotePort", _ModelCamera.net.remotePort);
_configIni->setValue("ModelCamera/localIp", _ModelCamera.net.localIp);
_configIni->setValue("ModelCamera/localPort", _ModelCamera.net.localPort);
emit sendOneSet(ModelCamera, _ModelCamera);
}
// 一键配置
void HomePageSetingWidget::on_oneKeyButton_clicked() {
on_GDDCPushButton_clicked();
on_lLinkButton_clicked();
on_netButton_clicked();
on_sateliteButton_clicked();
on_modelCameraButton_clicked();
on_GDDCPushButton_clicked();
on_lLinkButton_clicked();
on_netButton_clicked();
on_sateliteButton_clicked();
on_modelCameraButton_clicked();
}
/*************************************************
* @func getAllParam
@ -106,5 +113,5 @@ void HomePageSetingWidget::on_oneKeyButton_clicked() {
* @param
**************************************************/
std::unordered_map<QString, settingStruct> HomePageSetingWidget::getAllParam() {
return _allParamMap;
return _allParamMap;
}

@ -2,7 +2,7 @@
global::global() {}
QString g_SoftwareVersion = "版本号V1.1.0.3_20241207";
QString g_SoftwareVersion = "版本号V1.1.0.4_20241226";
NotifyManager *g_notifyManager = nullptr;

@ -148,28 +148,30 @@ void MainWindow::initWindow() {
m_ModelCameraDlg = new ModelCameraDlg(this);
emit m_ModelCameraDlg->sendNetParam_signal(m_allSetMap["三维建模"].net);
// 接收主页面设置窗口的url数据传递并设置
connect(m_HomePagedlg->settingWidget, &HomePageSetingWidget::sendOneSet,
this, [&](unsigned char urlIndex, settingStruct settings) {
switch (urlIndex) {
case HomePageSetingWidget::GDDC:
// dosomething
break;
case HomePageSetingWidget::L_Link:
lLinkWeb->load(QUrl(settings.url));
break;
case HomePageSetingWidget::Adhoc_Network:
adHocNetworkWeb->load(QUrl(settings.url));
break;
case HomePageSetingWidget::Satelite_Comm:
satelliteCommWeb->load(QUrl(settings.url));
break;
case HomePageSetingWidget::ModelCamera:
m_ModelCameraDlg->sendNetParam_signal(settings.net);
break;
default:
break;
}
});
connect(
m_HomePagedlg->settingWidget, &HomePageSetingWidget::sendOneSet, this,
[&](unsigned char urlIndex, settingStruct settings) {
switch (urlIndex) {
case HomePageSetingWidget::GDDC:
// dosomething
m_GDDCdlg->m_DlgGDDCSet->initPullURL(settings.net.remoteIp);
break;
case HomePageSetingWidget::L_Link:
lLinkWeb->load(QUrl(settings.url));
break;
case HomePageSetingWidget::Adhoc_Network:
adHocNetworkWeb->load(QUrl(settings.url));
break;
case HomePageSetingWidget::Satelite_Comm:
satelliteCommWeb->load(QUrl(settings.url));
break;
case HomePageSetingWidget::ModelCamera:
m_ModelCameraDlg->sendNetParam_signal(settings.net);
break;
default:
break;
}
});
// 设置栈窗口,多页面共享同一窗口
ui->stackedWidget->addWidget(m_SDFPDlg);

Loading…
Cancel
Save