#pragma execution_character_set("utf-8") #include "frmmain.h" #include "ui_frmmain.h" #include "iconhelper.h" #include "quihelper.h" frmMain::frmMain(QWidget *parent) : QWidget(parent), ui(new Ui::frmMain) { ui->setupUi(this); this->initForm(); } frmMain::~frmMain() { delete ui; } void frmMain::initForm() { //设置无边框 QUIHelper::setFramelessForm(this); //设置图标 IconHelper::setIcon(ui->labIco, 0xf099, 35); IconHelper::setIcon(ui->btnMenu_Min, 0xf068); IconHelper::setIcon(ui->btnMenu_Max, 0xf067); IconHelper::setIcon(ui->btnMenu_Close, 0xf00d); ui->widgetTitle->setProperty("form", "title"); ui->widgetLeft->setProperty("nav", "left"); ui->widgetTop->setProperty("nav", "top"); QFont font; font.setPixelSize(25); ui->labTitle->setFont(font); ui->labTitle->setText("智能访客管理平台"); this->setWindowTitle(ui->labTitle->text()); ui->label->setStyleSheet("QLabel{font:60px;}"); QSize icoSize(32, 32); int icoWidth = 85; //设置顶部导航按钮 QList tbtns = ui->widgetTop->findChildren(); foreach (QToolButton *btn, tbtns) { btn->setIconSize(icoSize); btn->setMinimumWidth(icoWidth); btn->setCheckable(true); connect(btn, SIGNAL(clicked()), this, SLOT(buttonClick())); } ui->btnMain->click(); //设置左侧导航按钮 QList btns = ui->widgetLeft->findChildren(); foreach (QPushButton *btn, btns) { btn->setCheckable(true); connect(btn, SIGNAL(clicked()), this, SLOT(btnClick())); } ui->btn1->click(); } void frmMain::buttonClick() { QToolButton *b = (QToolButton *)sender(); QString name = b->text(); QList btns = ui->widgetTop->findChildren(); foreach (QToolButton *btn, btns) { btn->setChecked(btn == b); } ui->label->setText(QString("单击了顶部菜单\n%1").arg(name)); } void frmMain::btnClick() { QPushButton *b = (QPushButton *)sender(); QString name = b->text(); QList btns = ui->widgetLeft->findChildren(); foreach (QPushButton *btn, btns) { btn->setChecked(btn == b); } ui->label->setText(QString("单击了左侧菜单\n%1").arg(name)); } void frmMain::on_btnMenu_Min_clicked() { showMinimized(); } void frmMain::on_btnMenu_Max_clicked() { static bool max = false; static QRect location = this->geometry(); if (max) { this->setGeometry(location); } else { location = this->geometry(); this->setGeometry(QUIHelper::getScreenRect()); } this->setProperty("canMove", max); max = !max; } void frmMain::on_btnMenu_Close_clicked() { close(); }