#include "MainWindowForm.h" #include "ui_MainWindowForm.h" #include <QDebug> MainWindowForm::MainWindowForm(QWidget *parent) : QWidget(parent), ui(new Ui::MainWindowForm) { ui->setupUi(this); // 设置窗口透明和大小、位置 this->setWindowFlags(Qt::FramelessWindowHint); this->move(1400, 15); this->resize(SettingConfig::getInstance().WINDOW_WIDTH, SettingConfig::getInstance().WINDOW_HEIGHT); // 通过调色板的颜色来设置窗口的统一背景色 qApp->setPalette(QPalette(QColor(SettingConfig::getInstance().WINDOW_BACKGROUND_COLOR))); // 加载css文件设置控件样式 QFile file(QApplication::applicationDirPath() + "/qss/main.css"); if (file.open(QFile::ReadOnly)) { QString qssStr = QLatin1String(file.readAll()); this->setStyleSheet(qssStr); file.close(); } initFormsPtr(); // 设置标题文字 ui->labelTitle->setText(SettingConfig::getInstance().WINDOW_TITLE); ui->labelCopyright->setText(SettingConfig::getInstance().WINDOW_RIGHTS); ui->labelVersion->setText(SettingConfig::getInstance().WINDOW_VERSION); // 初始化虹膜相机控制 ProMemory::getInstance().irisCam = new IrisCameraController(this); ProMemory::getInstance().irisCam->initIrisCamera(); ProMemory::getInstance().irisCam->openIrisCamera(); connect(ProMemory::getInstance().irisCam->irisCamHandler, &IrisCameraCapEventHandler::sendIrisFrameToDraw, identifyForm, &IdentifyForm::drawIrisImageOnFrame); // LOG_INFO(QString("应用程序启动成功[Application Startup Success]").toStdString()); qDebug() << "应用程序启动成功[Application Startup Success]"; ProMemory::getInstance().widgeFrame = AppConstants::WidgeFrameName::IDENTIFY_FORM; ui->wdgtStatced->setCurrentWidget(identifyForm); // 开始虹膜相机拍图 ProMemory::getInstance().irisCam->startCapture(); } MainWindowForm::~MainWindowForm() { delete ui; } void MainWindowForm::lockScreen() { ui->wdgtStatced->setCurrentWidget(lockScreenForm); ProMemory::getInstance().widgeFrame = AppConstants::WidgeFrameName::LOCKSCREEN_FORM; ProMemory::getInstance().appState = AppConstants::ApplicationState::STATE_WAIT; } void MainWindowForm::keyPressEvent(QKeyEvent *event) { switch (event->key()) { case Qt::Key_Escape: QTimer::singleShot(100, qApp, [=](){ QApplication::quit(); }); default: QWidget::keyPressEvent(event); } } void MainWindowForm::initFormsPtr() { // 初始化各个form lockScreenForm = new LockScreenForm(this); identifyForm = new IdentifyForm(this); // 将form添加到statcked widget中 ui->wdgtStatced->addWidget(identifyForm); ui->wdgtStatced->addWidget(lockScreenForm); // 绑定按钮函数 }