#include "homepagesetingwidget.h" #include "ui_homepagesetingwidget.h" HomePageSetingWidget::HomePageSetingWidget(QWidget *parent) : QWidget(parent), ui(new Ui::HomePageSetingWidget), _GDDCIp(""), _lLinkIp(""), _adHocNetwork(""), _satelliteComm("") { ui->setupUi(this); init(); } HomePageSetingWidget::~HomePageSetingWidget() { delete ui; } void HomePageSetingWidget::init() { // 选择配置文件 urlFile = QCoreApplication::applicationDirPath() + "/config.ini"; _configIni = std::make_unique(urlFile, QSettings::IniFormat); // 读取配置信息 _GDDCIp = _configIni->value("光电吊舱/IP").toString(); _lLinkIp = _configIni->value("L链/IP").toString(); _adHocNetwork = _configIni->value("宽带自组网/IP").toString(); _satelliteComm = _configIni->value("机载卫通/IP").toString(); // 存储配置信息到MAP容器中 _urlMap.insert({"光电吊舱", _GDDCIp}); _urlMap.insert({"L链", _lLinkIp}); _urlMap.insert({"宽带自组网", _adHocNetwork}); _urlMap.insert({"机载卫通", _satelliteComm}); // 显示到配置页面 ui->GDDCLineEdit->setText(_GDDCIp); ui->lLinkLineEdit->setText(_lLinkIp); ui->netLineEdit->setText(_adHocNetwork); ui->sateliteLineEdit->setText(_satelliteComm); // 发送消息到其他页面 emit sendOnlyUrl(GDDC, _GDDCIp); emit sendOnlyUrl(L_Link, _lLinkIp); emit sendOnlyUrl(Adhoc_Network, _adHocNetwork); emit sendOnlyUrl(Satelite_Comm, _satelliteComm); } void HomePageSetingWidget::on_GDDCPushButton_clicked() { // 写参数到配置文件 _GDDCIp = ui->GDDCLineEdit->text(); _configIni->setValue("光电吊舱/IP", _GDDCIp); emit sendOnlyUrl(GDDC, _GDDCIp); } void HomePageSetingWidget::on_lLinkButton_clicked() { // 写参数到配置文件 _lLinkIp = ui->lLinkLineEdit->text(); _configIni->setValue("L链/IP", _lLinkIp); emit sendOnlyUrl(L_Link, _lLinkIp); } void HomePageSetingWidget::on_netButton_clicked() { // 写参数到配置文件 _adHocNetwork = ui->netLineEdit->text(); _configIni->setValue("宽带自组网/IP", _adHocNetwork); emit sendOnlyUrl(Adhoc_Network, _adHocNetwork); } void HomePageSetingWidget::on_sateliteButton_clicked() { // 写参数到配置文件 _satelliteComm = ui->sateliteLineEdit->text(); _configIni->setValue("机载卫通/IP", _satelliteComm); emit sendOnlyUrl(Satelite_Comm, _satelliteComm); } // 一键配置 void HomePageSetingWidget::on_oneKeyButton_clicked() { on_GDDCPushButton_clicked(); on_lLinkButton_clicked(); on_netButton_clicked(); on_sateliteButton_clicked(); } /************************************************* * @func getUrl * @brief 向外部提供接口 获取配置文件中的所有url信息 * @param **************************************************/ std::unordered_map HomePageSetingWidget::getUrl() { return _urlMap; }