97 lines
3.6 KiB
C++
97 lines
3.6 KiB
C++
#include "mainwindow.h"
|
|
#include "ui_mainwindow.h"
|
|
|
|
#include "settingPage.cpp"
|
|
#include "quitAppPage.cpp"
|
|
#include "newCardPage.cpp"
|
|
#include "reportLossPage.cpp"
|
|
#include "depositPage.cpp"
|
|
#include "consumePage.cpp"
|
|
#include "queryPage.cpp"
|
|
|
|
|
|
MainWindow::MainWindow(QWidget *parent)
|
|
: QMainWindow(parent)
|
|
, ui(new Ui::MainWindow)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
// 工具栏设置
|
|
addToolBar(Qt::LeftToolBarArea, ui->toolBar);
|
|
ui->toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
|
|
ui->toolBar->setFloatable(false);
|
|
ui->toolBar->setMovable(false);
|
|
|
|
// 状态栏设置
|
|
ui->statusBar->setStyleSheet(QString("QStatusBar::item{border: 0px}"));
|
|
|
|
readerConnectStatusCheckBox = new QCheckBox();
|
|
readerConnectStatusCheckBox->setChecked(false);
|
|
ui->statusBar->addWidget(readerConnectStatusCheckBox);
|
|
|
|
comNumberLabel = new QLabel("当前无连接");
|
|
ui->statusBar->addWidget(comNumberLabel);
|
|
|
|
databaseConnectStatusCheckBox = new QCheckBox();
|
|
databaseConnectStatusCheckBox->setChecked(false);
|
|
ui->statusBar->addWidget(databaseConnectStatusCheckBox);
|
|
|
|
databaseLabel = new QLabel("数据库无连接");
|
|
ui->statusBar->addWidget(databaseLabel);
|
|
|
|
deviceLabel = new QLabel(device.getNameAndDepositAllowed());
|
|
ui->statusBar->addWidget(deviceLabel);
|
|
|
|
|
|
// 清空部分输入框
|
|
ui->userIdBox->clear();
|
|
newCardUserIdFilled = false;
|
|
connect(ui->userIdBox, &QSpinBox::valueChanged, [this]{ newCardUserIdFilled = true; });
|
|
|
|
ui->reportLossUserIdBox->clear();
|
|
reportLossUserIdFilled = false;
|
|
connect(ui->reportLossUserIdBox, &QSpinBox::valueChanged, [this]{ reportLossUserIdFilled = true; });
|
|
|
|
connect(ui->depositUserIdBox, &QSpinBox::valueChanged, [this]{ depositUserIdFilled = true; });
|
|
|
|
connect(ui->queryUserIdBox, &QSpinBox::valueChanged, [this]{ queryUserIdFilled = true; });
|
|
|
|
|
|
// 查询表格设置
|
|
ui->queryResultTable->setShowGrid(true); //设置显示格子线
|
|
ui->queryResultTable->setSelectionBehavior(QAbstractItemView::SelectRows); //整行选中
|
|
ui->queryResultTable->setEditTriggers(QAbstractItemView::NoEditTriggers); //禁止编辑
|
|
ui->queryResultTable->horizontalHeader()->setStretchLastSection(true); //行头自适应表格
|
|
ui->queryResultTable->horizontalHeader()->setHighlightSections(false); //点击表头时不对表头光亮
|
|
ui->queryResultTable->setSortingEnabled(true); //启动排序
|
|
// 设置表头字体加粗
|
|
QFont queryResultTableFont = ui->queryResultTable->horizontalHeader()->font();
|
|
queryResultTableFont.setBold(true);
|
|
ui->queryResultTable->horizontalHeader()->setFont(queryResultTableFont);
|
|
// 设置表头内容
|
|
QStringList queryResultTableHeader;
|
|
queryResultTableHeader << "时间" << "类型" << "金额" << "余额" << "设备" << "交易号";
|
|
ui->queryResultTable->setColumnCount(queryResultTableHeader.size()); //设置列数
|
|
ui->queryResultTable->setHorizontalHeaderLabels(queryResultTableHeader);
|
|
ui->queryResultTable->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter); // 每列居中对齐
|
|
|
|
ui->queryResultTable->setColumnWidth(0, 130);
|
|
ui->queryResultTable->setColumnWidth(1, 40);
|
|
ui->queryResultTable->setColumnWidth(2, 60);
|
|
ui->queryResultTable->setColumnWidth(3, 80);
|
|
ui->queryResultTable->setColumnWidth(4, 100);
|
|
ui->queryResultTable->setColumnWidth(5, 240);
|
|
|
|
|
|
|
|
// 设置启动页面
|
|
ui->stackedWidget->setCurrentWidget(ui->settingPage);
|
|
}
|
|
|
|
|
|
MainWindow::~MainWindow()
|
|
{
|
|
delete ui;
|
|
}
|
|
|