#include "frmconfigswitch.h" #include "ui_frmconfigswitch.h" #include "head.h" frmConfigSwitch::frmConfigSwitch(QWidget *parent) : QWidget(parent), ui(new Ui::frmConfigSwitch) { ui->setupUi(this); this->initForm(); this->initTable(); this->initConfig(); } frmConfigSwitch::~frmConfigSwitch() { delete ui; } bool frmConfigSwitch::eventFilter(QObject *watched, QEvent *event) { if (event->type() == QEvent::MouseButtonPress) { if (watched == ui->txtOpenMode) { int index = mode.indexOf(ui->txtOpenMode->text()); ui->tableMain->setCurrentItem(ui->tableMain->item(index, 0)); } else if (watched == ui->txtLogMode) { int index = mode.indexOf(ui->txtLogMode->text()); ui->tableMain->setCurrentItem(ui->tableMain->item(index, 0)); } else if (watched == ui->txtConfigMode) { int index = mode.indexOf(ui->txtConfigMode->text()); ui->tableMain->setCurrentItem(ui->tableMain->item(index, 0)); } } return QWidget::eventFilter(watched, event); } void frmConfigSwitch::showEvent(QShowEvent *) { this->initConfig(); } void frmConfigSwitch::initForm() { ui->txtOpenMode->setProperty("noinput", true); ui->txtLogMode->setProperty("noinput", true); ui->txtConfigMode->setProperty("noinput", true); int fixWidth = 120; int fixHeight = 50; if (AppConfig::MainHeight == 480) { fixWidth = 100; fixHeight = 40; } ui->btnOpenAuthor->setFixedSize(fixWidth, fixHeight); ui->btnLogAuthor->setFixedSize(fixWidth, fixHeight); ui->btnConfigAuthor->setFixedSize(fixWidth, fixHeight); ui->btnUserPwd->setFixedSize(fixWidth, fixHeight); ui->btnAdmin->setFixedSize(fixWidth, fixHeight); ui->txtOpenMode->setFixedSize(fixWidth, fixHeight); ui->txtLogMode->setFixedSize(fixWidth, fixHeight); ui->txtConfigMode->setFixedSize(fixWidth, fixHeight); //绑定返回按钮按下返回到主界面 connect(ui->btnReturn, SIGNAL(clicked(bool)), this, SIGNAL(returnMain())); //绑定保存按钮保存配置参数 connect(ui->btnSave, SIGNAL(clicked(bool)), this, SLOT(saveConfig())); //设置属性以便应用样式表 ui->widgetReturn->setProperty("flag", "return"); ui->txtOpenMode->setReadOnly(true); ui->txtLogMode->setReadOnly(true); ui->txtConfigMode->setReadOnly(true); ui->txtOpenMode->installEventFilter(this); ui->txtLogMode->installEventFilter(this); ui->txtConfigMode->installEventFilter(this); } void frmConfigSwitch::initTable() { //验证模式 mode << "不需验证" << "单人验证" << "双人验证" << "三人验证" << "远程审核" ; int count = mode.count(); //设置列数和列宽 ui->tableMain->setColumnCount(1); ui->tableMain->setColumnWidth(0, 100); //设置行数行高 ui->tableMain->setRowCount(count); ui->tableMain->verticalHeader()->setDefaultSectionSize(50); ui->tableMain->horizontalHeader()->setVisible(false); ui->tableMain->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tableMain->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableMain->setSelectionMode(QAbstractItemView::SingleSelection); //ui->tableMain->setAlternatingRowColors(true); ui->tableMain->verticalHeader()->setVisible(false); ui->tableMain->horizontalHeader()->setStretchLastSection(true); for (int i = 0; i < count; i++) { QTableWidgetItem *item = new QTableWidgetItem(mode.at(i)); item->setTextAlignment(Qt::AlignCenter); ui->tableMain->setItem(i, 0, item); } } void frmConfigSwitch::initConfig() { ui->txtOpenMode->setText(mode.at(AppConfig::OpenMode)); ui->btnOpenAuthor->setChecked(AppConfig::OpenAuthor); ui->txtLogMode->setText(mode.at(AppConfig::LogMode)); ui->btnLogAuthor->setChecked(AppConfig::LogAuthor); ui->txtConfigMode->setText(mode.at(AppConfig::ConfigMode)); ui->btnConfigAuthor->setChecked(AppConfig::ConfigAuthor); ui->btnUserPwd->setChecked(AppConfig::UserPwd); ui->btnAdmin->setChecked(AppConfig::Admin); showImage(); } void frmConfigSwitch::saveConfig() { AppConfig::OpenMode = mode.indexOf(ui->txtOpenMode->text()); AppConfig::OpenAuthor = ui->btnOpenAuthor->getChecked(); AppConfig::LogMode = mode.indexOf(ui->txtLogMode->text()); AppConfig::LogAuthor = ui->btnLogAuthor->getChecked(); AppConfig::ConfigMode = mode.indexOf(ui->txtConfigMode->text()); AppConfig::ConfigAuthor = ui->btnConfigAuthor->getChecked(); AppConfig::UserPwd = ui->btnUserPwd->getChecked(); AppConfig::Admin = ui->btnAdmin->getChecked(); AppConfig::writeConfig(); } void frmConfigSwitch::showImage() { //显示背景图片 QPixmap pix(AppConfig::BgImage); pix = pix.scaled(ui->labImage->size()); ui->labImage->setPixmap(pix); } void frmConfigSwitch::on_tableMain_pressed(const QModelIndex &index) { QString text = index.data().toString(); if (ui->txtOpenMode->hasFocus()) { ui->txtOpenMode->setText(text); } else if (ui->txtLogMode->hasFocus()) { ui->txtLogMode->setText(text); } else if (ui->txtConfigMode->hasFocus()) { ui->txtConfigMode->setText(text); } } void frmConfigSwitch::on_btnPre_clicked() { int index = AppConfig::BgImage.mid(9, 2).toInt(); if (index > 0) { index--; AppConfig::BgImage = QString(":/bg/main%1.jpg").arg(index, 2, 10, QChar('0')); AppConfig::writeConfig(); emit changeStyle(); showImage(); } } void frmConfigSwitch::on_btnNext_clicked() { int index = AppConfig::BgImage.mid(9, 2).toInt(); if (index < 12) { index++; AppConfig::BgImage = QString(":/bg/main%1.jpg").arg(index, 2, 10, QChar('0')); AppConfig::writeConfig(); emit changeStyle(); showImage(); } }