#include "homepagedlg.h" #include "ui_homepagedlg.h" #include #include #include HomePageDlg::HomePageDlg(QWidget *parent) : QWidget(parent) , ui(new Ui::HomePageDlg) , _lLinkIp("") , _adHocNetwork("") , _satelliteComm("") { ui->setupUi(this); QPalette palette; //设置主窗口背景颜色 palette.setColor(QPalette::Window,QColor(50, 50, 50)); this->setPalette(palette); //嵌入到主窗口 setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint); hide(); settingWidget = new HomePageSetingWidget(this); settingWidget->setWindowFlags(Qt::Window); // 设置为独立窗口 initSettingUrl(); initButton(); } 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}); settingWidget->setUrl(_urlMap); } /** * @brief HomePageDlg::initButton 初始化按钮位置 */ void HomePageDlg::initButton() { QIcon icon; icon.addFile(":/res/settings.png"); QPushButton* btn = new QPushButton; btn->setParent(this); btn->setMinimumSize(40,40); btn->setMaximumSize(40,40); btn->setIconSize(QSize(30,30)); btn->setIcon(icon); //点击主页按钮弹出设置页面1 connect(btn,&QPushButton::clicked,this,[&](){ //qDebug() << "homepagedlg上的设置按钮点击了"; if(settingWidget->isVisible()) settingWidget->close(); else settingWidget->show(); }); } void HomePageDlg::on_pushButton_clicked() { emit sendUrl(_urlMap); }