#include "frmconfignet.h" #include "ui_frmconfignet.h" #include "head.h" frmConfigNet::frmConfigNet(QWidget *parent) : QWidget(parent), ui(new Ui::frmConfigNet) { ui->setupUi(this); this->initForm(); this->initConfig(); } frmConfigNet::~frmConfigNet() { delete ui; } void frmConfigNet::showEvent(QShowEvent *) { this->initConfig(); } void frmConfigNet::initForm() { if (AppConfig::MainHeight == 480) { this->layout()->setSpacing(10); this->layout()->setContentsMargins(20, 20, 20, 20); } int height = 50; ui->txtGatewayClient->setFixedHeight(height); ui->txtIPClient->setFixedHeight(height); ui->txtIPServer->setFixedHeight(height); ui->txtIPServer2->setFixedHeight(height); ui->txtMaskClient->setFixedHeight(height); ui->txtPortClient->setFixedHeight(height); ui->txtPortServer->setFixedHeight(height); //绑定返回按钮按下返回到主界面 connect(ui->btnReturn, SIGNAL(clicked(bool)), this, SIGNAL(returnMain())); //绑定保存按钮保存配置参数 connect(ui->btnSave, SIGNAL(clicked(bool)), this, SLOT(saveConfig())); //设置属性以便应用样式表 ui->widgetReturn->setProperty("flag", "return"); ui->labClient->setProperty("flag", "title"); ui->labServer->setProperty("flag", "title"); } void frmConfigNet::initConfig() { ui->txtIPClient->setText(AppConfig::IPClient); ui->txtMaskClient->setText(AppConfig::MaskClient); ui->txtGatewayClient->setText(AppConfig::GatewayClient); ui->txtPortClient->setText(AppConfig::PortClient); ui->txtIPServer->setText(AppConfig::IPServer); ui->txtPortServer->setText(AppConfig::PortServer); ui->txtIPServer2->setText(AppConfig::IPServer2); } void frmConfigNet::saveConfig() { AppConfig::IPClient = ui->txtIPClient->text().trimmed(); AppConfig::MaskClient = ui->txtMaskClient->text().trimmed(); AppConfig::GatewayClient = ui->txtGatewayClient->text().trimmed(); AppConfig::PortClient = ui->txtPortClient->text().trimmed(); AppConfig::IPServer = ui->txtIPServer->text().trimmed(); AppConfig::PortServer = ui->txtPortServer->text().trimmed(); AppConfig::IPServer2 = ui->txtIPServer2->text().trimmed(); AppConfig::writeConfig(); } void frmConfigNet::on_txtIPClient_textChanged(const QString &arg1) { //自动根据IP地址填写子网掩码和网关地址 QStringList list = arg1.split("."); int ipStart = list.at(0).toInt(); if (ipStart > 0 && ipStart < 127) { ui->txtMaskClient->setText("255.0.0.0"); } else if (ipStart > 127 && ipStart < 192) { ui->txtMaskClient->setText("255.255.0.0"); } else if (ipStart > 191 && ipStart < 223) { ui->txtMaskClient->setText("255.255.255.0"); } if (list.count() == 4) { QString gateway = QString("%1.%2.%3.1").arg(list.at(0)).arg(list.at(1)).arg(list.at(2)); ui->txtGatewayClient->setText(gateway); } }