#include "CasicBioRecWin.h" #include "ui_CasicBioRecWin.h" #include <QKeyEvent> #include <QTimer> CasicBioRecWin::CasicBioRecWin(QWidget *parent) : QMainWindow(parent) , ui(new Ui::CasicBioRecWin) { ui->setupUi(this); this->setWindowFlags(Qt::FramelessWindowHint); this->move(0, 0); this->resize(SettingConfig::getInstance().WINDOW_WIDTH, SettingConfig::getInstance().WINDOW_HEIGHT); // 通过调色板的颜色来设置窗口的统一背景色 qApp->setPalette(QPalette(QColor(SettingConfig::getInstance().WINDOW_BACKGROUND_COLOR))); this->initFormsPtr(); } CasicBioRecWin::~CasicBioRecWin() { delete ui; } void CasicBioRecWin::keyPressEvent(QKeyEvent *event) { switch (event->key()) { case Qt::Key_Escape: QTimer::singleShot(100, qApp, SLOT(quit())); default: QWidget::keyPressEvent(event); } } void CasicBioRecWin::backToStandByForm() { ui->stacked->setCurrentWidget(startForm); } void CasicBioRecWin::switchToUserListForm() { ui->stacked->setCurrentWidget(userListForm); } void CasicBioRecWin::switchToSettingForm() { } void CasicBioRecWin::initFormsPtr() { startForm = new StartupForm(this); userListForm = new UserListForm(this); settingForm = new SettingForm(this); ui->stacked->addWidget(startForm); ui->stacked->addWidget(userListForm); ui->stacked->addWidget(settingForm); ui->stacked->setCurrentIndex(1); // 绑定按钮函数 connect(startForm, &StartupForm::switchToUserListForm, this, &CasicBioRecWin::switchToUserListForm); connect(startForm, &StartupForm::switchToSettingForm, this, &CasicBioRecWin::switchToSettingForm); }