调整部分样式

This commit is contained in:
2026-05-11 09:11:30 +08:00
parent e40a72cd7c
commit c8a5a121c9
31 changed files with 2763 additions and 660 deletions
+118 -101
View File
@@ -4,6 +4,7 @@
//#include <QTextCursor>
#include <QElapsedTimer>
#include "VerBVersion.h"
#include <QEvent>
#ifdef __RFID_CARD
#define DETECT_WARNING_TIME 10 //Seconds
@@ -29,12 +30,17 @@ InkJetPrinter::InkJetPrinter(QWidget* parent)
init();
QThread::sleep(3);
// qApp->installEventFilter(this);
qApp->installEventFilter(this);
QString ARM_Version;
ARM_Version.sprintf("%d.%d.%02d%s%s", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID);
ui.label_version->setText(QString("A%1/F%2.%3.%4").arg(ARM_Version).arg(sysPara->status.fpgaVersionNum >> 12)
.arg((sysPara->status.fpgaVersionNum>>8) & 0x0f).arg(sysPara->status.fpgaVersionNum&0xff) );
#ifdef ARCH_X86
setFixedSize(800, 600);
#endif
}
InkJetPrinter::~InkJetPrinter()
@@ -982,12 +988,12 @@ void InkJetPrinter::timerHandler(void){
sysPara->devOp->setICReaderModeFlag = true;
// 使用RFID读写器软件设置,而不是这里
// sysPara->devOp->setRFIDReaderWorkMode();
sysPara->devOp->setRFIDReaderWorkMode();
qDebug()<<"jd.addr: "<<m_MainInstruction->dlgInputAddr->jd.addr;
LogInfo::setRunStatusText(QString("jd.addr:%1").arg(m_MainInstruction->dlgInputAddr->jd.addr));
// 使用RFID读写器软件设置,而不是这里
// sysPara->devOp->setRFIDReaderKey(m_MainInstruction->dlgInputAddr->jd.addr,1);
sysPara->devOp->setRFIDReaderKey(m_MainInstruction->dlgInputAddr->jd.addr,1);
sysPara->devOp->setICReaderModeFlag = false;
}
if(pulse_300ms){
@@ -1000,99 +1006,90 @@ void InkJetPrinter::timerHandler(void){
if((sysPara->devOp->strRevdata.left(3) == QString::number(m_MainInstruction->dlgInputAddr->jd.addr).left(3))\
|| sysPara->devOp->strRevdata.left(3) == "100")
{
if(sysPara->devOp->strRevdata.at(3) == 'A')
{
QMessageBox::StandardButton ret;
ret = QMessageBox::warning(this, tr("警告"),
tr("确认要刷墨水卡吗?"),
QMessageBox::Ok | QMessageBox::Cancel);
if (ret == QMessageBox::Ok){
if(!sysPara->RFIDPara.needInkCard){
msgtest->setText(tr("不需要刷墨水卡!"));
msgtest->show();
LogInfo::setRunStatusText(tr("不需要刷墨水卡!"));
qDebug()<<"不需要刷墨水卡";
if(sysPara->devOp->strRevdata.at(3) == 'A') {
if(!sysPara->RFIDPara.needInkCard && false){
msgtest->setText(tr("不需要刷墨水卡!"));
msgtest->show();
LogInfo::setRunStatusText(tr("不需要刷墨水卡!"));
qDebug()<<"不需要刷墨水卡";
}
else if(sysPara->status.statWarn & WARN_STATUS_INK_WARN && false){
msgtest->setText(tr("请先添加墨水再刷墨水卡!"));
msgtest->show();
LogInfo::setRunStatusText(tr("请先添加墨水再刷墨水卡!"));
qDebug()<<"请先添加墨水再刷墨水卡";
}
else
{
auto ok = cardTouchConfirm(tr("确认要刷墨水卡吗?"), tr("确认要刷墨水卡吗? %1 秒后将自动确认"));
if (!ok){
LogInfo::setRunStatusText("The user has canceled the operation about marking the ink card.");
qDebug() << "The user has canceled the operation about marking the ink card.";
}
else if(sysPara->status.statWarn & WARN_STATUS_INK_WARN){
msgtest->setText(tr("请先添加墨水再刷墨水卡!"));
else if(sysPara->devOp->RFIDmarkCardUsedAsync(0) == 1){
sysPara->RFIDPara.needInkCard = false;
sysPara->RFIDPara.inkCardTimeOut = false;
sysPara->saveRFIDPara();
msgtest->setText(tr("刷墨水卡成功!"));
msgtest->show();
LogInfo::setRunStatusText(tr("请先添加墨水再刷墨水卡!"));
qDebug()<<"请先添加墨水再刷墨水卡";
}
else
{
if(sysPara->para.rfidCountDown>0)
delayWithEventLoop(); //xx秒的倒计时
if(sysPara->devOp->RFIDmarkCardUsedAsync() == 1){//把卡数据清零
sysPara->RFIDPara.needInkCard = false;
sysPara->RFIDPara.inkCardTimeOut = false;
sysPara->saveRFIDPara();
msgtest->setText(tr("刷墨水卡成功!"));
msgtest->show();
// m_MainWidget->setRunStatus(tr("刷墨水卡成功!")); hlp
LogInfo::setRunStatusText(tr("刷墨水卡成功!"));
qDebug()<<"刷墨水卡成功";
sysPara->para.flagOfInkWarning = false;
sysPara->para.inkWarnDate = 0;
sysPara->para.inkWarnTime = 0;
sysPara->saveParaToFile();
}
// m_MainWidget->setRunStatus(tr("刷墨水卡成功!")); hlp
LogInfo::setRunStatusText(tr("刷墨水卡成功!"));
qDebug()<<"刷墨水卡成功";
sysPara->para.flagOfInkWarning = false;
sysPara->para.inkWarnDate = 0;
sysPara->para.inkWarnTime = 0;
sysPara->saveParaToFile();
}
}
}
else if(sysPara->devOp->strRevdata.at(3) == 'B')
{
QMessageBox::StandardButton ret;
ret = QMessageBox::warning(this, tr("警告"),
tr("确认要刷溶剂卡吗?"),
QMessageBox::Ok | QMessageBox::Cancel);
if (ret == QMessageBox::Ok){
if(!sysPara->RFIDPara.needSolventCard){
msgtest->setText(tr("不需要刷溶剂卡!"));
msgtest->show();
LogInfo::setRunStatusText(tr("不需要刷溶剂卡!"));
qDebug()<<"不需要刷溶剂卡";
if(!sysPara->RFIDPara.needSolventCard && false){
msgtest->setText(tr("不需要刷溶剂卡!"));
msgtest->show();
LogInfo::setRunStatusText(tr("不需要刷溶剂卡!"));
qDebug()<<"不需要刷溶剂卡";
}
else if(sysPara->status.statWarn & WARN_STATUS_SOLV_WARN && false){
msgtest->setText(tr("请先添加溶剂再刷溶剂卡!"));
msgtest->show();
LogInfo::setRunStatusText(tr("请先添加溶剂再刷溶剂卡!"));
qDebug()<<"请先添加溶剂再刷溶剂卡";
}
else
{
auto ok = cardTouchConfirm(tr("确认要刷溶剂卡吗?"), tr("确认要刷溶剂卡吗? %1 秒后将自动确认"));
if (!ok){
LogInfo::setRunStatusText("The user has canceled the operation about marking the solvent card.");
qDebug() << "The user has canceled the operation about marking the solvent card.";
}
else if(sysPara->status.statWarn & WARN_STATUS_SOLV_WARN){
msgtest->setText(tr("请先添加溶剂再刷溶剂卡!"));
else if(sysPara->devOp->RFIDmarkCardUsedAsync(1) == 1) {
sysPara->RFIDPara.needSolventCard = false;
sysPara->RFIDPara.solventCardTimeOut = false;
sysPara->saveRFIDPara();
msgtest->setText(tr("刷溶剂卡成功!"));
msgtest->show();
LogInfo::setRunStatusText(tr("请先添加溶剂再刷溶剂卡!"));
qDebug()<<"请先添加溶剂再刷溶剂卡";
}
else
{
if(sysPara->para.rfidCountDown>0)
delayWithEventLoop();
//弹出一个xx秒的倒计时,再执行以下代码
if(sysPara->devOp->RFIDmarkCardUsedAsync() == 1){//把卡数据清零
sysPara->RFIDPara.needSolventCard = false;
sysPara->RFIDPara.solventCardTimeOut = false;
sysPara->saveRFIDPara();
msgtest->setText(tr("刷溶剂卡成功!"));
msgtest->show();
// m_MainWidget->setRunStatus(tr("刷溶剂卡成功!")); hlp
LogInfo::setRunStatusText(tr("刷溶剂卡成功!"));
qDebug()<<"刷溶剂卡成功";
sysPara->para.flagOfSolventWarning = false;
sysPara->para.solventWarnDate = 0;
sysPara->para.solventWarnTime = 0;
sysPara->saveParaToFile();
}
// m_MainWidget->setRunStatus(tr("刷溶剂卡成功!")); hlp
LogInfo::setRunStatusText(tr("刷溶剂卡成功!"));
qDebug()<<"刷溶剂卡成功";
sysPara->para.flagOfSolventWarning = false;
sysPara->para.solventWarnDate = 0;
sysPara->para.solventWarnTime = 0;
sysPara->saveParaToFile();
}
}
}
else if(sysPara->devOp->strRevdata.at(3) == 'C')
{
QMessageBox::StandardButton ret;
ret = QMessageBox::warning(this, tr("警告"),
tr("确认要刷保养卡吗?"),
QMessageBox::Ok | QMessageBox::Cancel);
if (ret == QMessageBox::Ok){
if(sysPara->para.rfidCountDown>0)
delayWithEventLoop(); //xx秒的倒计时
emit maintenanceShow();
if(sysPara->devOp->RFIDmarkCardUsedAsync() == 1)//把卡数据清零
{
auto ok = cardTouchConfirm(tr("确认要刷保养卡吗?"), tr("确认要刷保养卡吗? %1 秒后将自动确认"));
if (ok){
auto r = sysPara->devOp->RFIDmarkCardUsedAsync(2);
if(r == 1) {//把卡数据清零
emit maintenanceShow();
sysPara->RFIDPara.needMaintenance = false;
sysPara->status.needMaintenanceRemind = false;
QDate curDate = QDate::currentDate();
@@ -1100,12 +1097,19 @@ void InkJetPrinter::timerHandler(void){
QDate mtEndDate = curDate.addMonths(sysPara->RFIDPara.maintenanceInterval);
sysPara->RFIDPara.maintenanceEndDate = mtEndDate.toString("yyMMdd").toInt();
sysPara->saveRFIDPara();
msgtest->setText(tr("刷保养卡成功!"));
msgtest->show();
// msgtest->setText(tr("刷保养卡成功!"));
// msgtest->show();
// m_MainWidget->setRunStatus(tr("刷保养卡成功!")); hlp
LogInfo::setRunStatusText(tr("刷保养卡成功!"));
qDebug()<<"刷保养卡成功";
}
else {
LogInfo::setRunStatusText("Failed to mark maintenance card!");
qDebug() << "Failed to mark maintenance card!";
}
}
else {
qDebug() << "用户取消了刷卡";
}
}
else
@@ -2791,25 +2795,38 @@ int InkJetPrinter::dateTimeElasped(int type,QString str){
}
}
void InkJetPrinter::delayWithEventLoop()
bool InkJetPrinter::cardTouchConfirm(QString msgTxt, QString variableMsgTxt)
{
QMessageBox waitBox(this);
waitBox.setWindowTitle(tr("请稍候"));
waitBox.setText(tr("刷溶剂卡倒计时: %1 秒").arg(sysPara->para.rfidCountDown));
waitBox.setStandardButtons(QMessageBox::NoButton);
waitBox.show();
QMessageBox box(QMessageBox::Warning, tr("警告"),
msgTxt, QMessageBox::Ok | QMessageBox::Cancel,
this, Qt::Dialog | Qt::Tool | Qt::FramelessWindowHint | Qt::BypassWindowManagerHint );
int countdown = sysPara->para.rfidCountDown;
QTimer timer;
QObject::connect(&timer, &QTimer::timeout, [&]() {
countdown--;
if (countdown > 0) {
waitBox.setText(tr("刷溶剂卡倒计时: %1 秒").arg(countdown));
int rfidCountDown = sysPara->para.rfidCountDown;
QTimer msgTimer;
QString boxTxt = variableMsgTxt;
connect(&msgTimer, &QTimer::timeout, [this, &box, &rfidCountDown, boxTxt]() {
box.setText(boxTxt.arg(rfidCountDown));
box.update();
rfidCountDown--;
if(rfidCountDown == 0) {
box.accept();
}
});
timer.start(1000);
int singleTime = sysPara->para.rfidCountDown*1000;
QEventLoop loop;
QTimer::singleShot(singleTime, &loop, &QEventLoop::quit); // ← 固定 3000ms
loop.exec();
if(sysPara->para.rfidCountDown > 0) {
box.setText(boxTxt.arg(sysPara->para.rfidCountDown));
msgTimer.start(1000);
}
// 为边框设置圆角和边框颜色
box.setStyleSheet(R"(
QDialog {
border-radius: 5px;
border: 2px solid #333333;
}
)");
box.exec();
return box.result() == QMessageBox::Ok || box.result() == QMessageBox::Accepted;
}