Newer
Older
CasicBioRecNew / CasicBioRecWin.cpp
tan yue on 10 May 2022 1 KB 20220510 用户列表页面框架
#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);
}