#include "SetConfig.h" #include "ui_SetConfig.h" #include <QFile> #include <QFileDialog> #include <QDesktopServices> #include <QPushButton> extern bool running; SetConfig::SetConfig(QWidget *parent) : QDialog(parent), ui(new Ui::SetConfig) { ui->setupUi(this); // 加载样式表 QFile file(QApplication::applicationDirPath() + "/qss/dlgdark.css"); if (file.open(QFile::ReadOnly)) { QString qss = QLatin1String(file.readAll()); this->setStyleSheet(qss); file.close(); } init(); } void SetConfig::init() { setAttribute(Qt::WA_DeleteOnClose); // 窗口关闭后释放本对象 setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint); this->setProperty("dialog", true); // 修改名称 ui->buttonBox->button(QDialogButtonBox::Ok)->setText("确定"); ui->buttonBox->button(QDialogButtonBox::Cancel)->setText("取消"); ui->ipInput->setText(SettingConfig::getInstance().DEVICE_HOST); ui->devInput->setText(QString::number(SettingConfig::getInstance().DEVICE_PORT)); ui->listenInput->setText(QString::number(SettingConfig::getInstance().LISTEN_PORT)); ui->logInput->setText(SettingConfig::getInstance().BASE_LOG_PATH); if (running == true) { ui->logInput->setReadOnly(true); } else { ui->logInput->setReadOnly(false); } } SetConfig::~SetConfig() { delete ui; } void SetConfig::on_buttonBox_accepted() { SettingConfig::getInstance().setConProperty("net", "deviceHost", ui->ipInput->text()); SettingConfig::getInstance().setConProperty("net", "devicePort", ui->devInput->text()); SettingConfig::getInstance().setConProperty("net", "listenPort", ui->listenInput->text()); SettingConfig::getInstance().setConProperty("log", "basePath", ui->logInput->text()); SettingConfig::getInstance().init(); }