Newer
Older
WorkCardReader / WorkCardReaderWin.cpp
tanyue on 18 Jun 2022 1 KB 20220618 界面调整
#include "WorkCardReaderWin.h"
#include "ui_WorkCardReaderWin.h"

qint8 index = 0;

WorkCardReaderWin::WorkCardReaderWin(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::WorkCardReaderWin)
{
    ui->setupUi(this);

    // 初始化时更新显示的时间
    this->updateDateAndTime();

    // 设置窗口透明和大小、位置
    this->setWindowFlags(Qt::FramelessWindowHint);
    this->move(1400, 20);
    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();
    }

    // 初始化更新界面的定时器
    // 每分钟执行一次
    connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
            this, &WorkCardReaderWin::updateDateAndTime);

    TimeCounterUtil::getInstance().clockCounter->setInterval(1000);
    TimeCounterUtil::getInstance().clockCounter->start();
}

WorkCardReaderWin::~WorkCardReaderWin()
{
    delete ui;
}

void WorkCardReaderWin::keyPressEvent(QKeyEvent *event)
{
    switch (event->key()) {
    case Qt::Key_Escape:
        QTimer::singleShot(100, qApp, SLOT(quit()));

    default:
        QWidget::keyPressEvent(event);
    }
}

void WorkCardReaderWin::updateDateAndTime()
{
    QString date = QDate::currentDate().toString("yyyy-MM-dd");
    QString time = QTime::currentTime().toString("HH:mm:ss");
    ui->labTime->setText(date + " " + time);
}


void WorkCardReaderWin::on_btnQuery_clicked()
{
    index++;
    // 1 首先查询本地数据库

    // 2 本地数据库有则直接显示
    ui->stacked->setCurrentIndex(index % 3);

    // 3 本地数据库没有查到则向后台请求
}