#include "frmconfig.h" #include "ui_frmconfig.h" #include "head.h" #include "frmconfigswitch.h" #include "frmconfigalarm.h" #include "frmconfigsystem.h" #include "frmconfignet.h" frmConfig::frmConfig(QWidget *parent) : QWidget(parent), ui(new Ui::frmConfig) { ui->setupUi(this); this->initForm(); } frmConfig::~frmConfig() { delete ui; } void frmConfig::initForm() { if (AppConfig::MainHeight == 480) { ui->widgetLeft->setFixedWidth(90); } else { ui->widgetLeft->setFixedWidth(120); } //设置属性以便应用样式表 ui->widgetLeft->setProperty("flag", "navleft"); //将子窗体加入 frmConfigSwitch *configSwitch = new frmConfigSwitch; connect(configSwitch, SIGNAL(returnMain()), this, SIGNAL(returnMain())); connect(configSwitch, SIGNAL(changeStyle()), this, SIGNAL(changeStyle())); frmConfigAlarm *configAlarm = new frmConfigAlarm; connect(configAlarm, SIGNAL(returnMain()), this, SIGNAL(returnMain())); frmConfigSystem *configSystem = new frmConfigSystem; connect(configSystem, SIGNAL(returnMain()), this, SIGNAL(returnMain())); frmConfigNet *configNet = new frmConfigNet; connect(configNet, SIGNAL(returnMain()), this, SIGNAL(returnMain())); ui->stackedWidget->addWidget(configSwitch); ui->stackedWidget->addWidget(configAlarm); ui->stackedWidget->addWidget(configSystem); ui->stackedWidget->addWidget(configNet); //绑定按钮按下信号槽 QList btns = ui->widgetLeft->findChildren(); foreach (QPushButton *btn, btns) { btn->setCheckable(true); connect(btn, SIGNAL(clicked(bool)), this, SLOT(buttonClick())); } ui->btnConfigSwitch->click(); } void frmConfig::buttonClick() { QPushButton *b = (QPushButton *)sender(); QList btns = ui->widgetLeft->findChildren(); //改变选中按钮 foreach (QPushButton *btn, btns) { btn->setChecked(btn == b); } if (b == ui->btnConfigSwitch) { ui->stackedWidget->setCurrentIndex(0); } else if (b == ui->btnConfigAlarm) { ui->stackedWidget->setCurrentIndex(1); } else if (b == ui->btnConfigSystem) { ui->stackedWidget->setCurrentIndex(2); } else if (b == ui->btnConfigNet) { ui->stackedWidget->setCurrentIndex(3); } }