diff --git a/InkJetPrinter.cpp b/InkJetPrinter.cpp index 35618b3..f215044 100644 --- a/InkJetPrinter.cpp +++ b/InkJetPrinter.cpp @@ -2645,7 +2645,7 @@ void InkJetPrinter::rebootApp() sysPara->devOp->controlInkValve(false); sysPara->devOp->controlInkValvePWM(false); } - m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒......").arg(i)); + m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒......").arg(i), false); MySleep(1000); } } @@ -2678,7 +2678,7 @@ void InkJetPrinter::rebootApp() { if(i==9) sysPara->devOp->controlReclaimTankOpen(false); - m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒......").arg(i)); + m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒......").arg(i), false); MySleep(1000); } } @@ -2704,7 +2704,7 @@ void InkJetPrinter::rebootApp() sysPara->para.gearPumpValue = 0; sysPara->devOp->WriteMoterPump(); } - m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒......").arg(i)); + m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒......").arg(i), false); MySleep(1000); } } diff --git a/mainwidget.cpp b/mainwidget.cpp index 72f152b..94464c3 100644 --- a/mainwidget.cpp +++ b/mainwidget.cpp @@ -394,7 +394,7 @@ void MainWidget::powerOffConfirmed(){ qApp->exit(0); } -void MainWidget::setRunStatus(QString str) +void MainWidget::setRunStatus(QString str, bool enbRoll) { // 自检完成后,timerHandler中会发送停止打印的命令,导致“停止打印,自动关闭高压.”顶替掉“自检完成!!!”的情况 if(ui.lb_nozzleState->text() == qApp->translate("InkJetPrinter", "自检完成!!!") && @@ -402,6 +402,20 @@ void MainWidget::setRunStatus(QString str) return; } + qDebug() << str; + // 如果禁用走马灯(enbRoll == false),直接在label上显示文本(即使过长) + if (!enbRoll) { + if (ui.lb_nozzleState) { + // 先停止任何走马灯效果,保证文本直接显示 + stopNozzleStateMarquee(); + ui.lb_nozzleState->setAlignment(Qt::AlignVCenter | Qt::AlignLeft); + ui.lb_nozzleState->setText(str); + ui.lb_nozzleState->update(); + } + return; + } + + // 使用走马灯显示长文本 updateNozzleStateMarquee(str); } @@ -447,6 +461,8 @@ void MainWidget::updateNozzleStateMarquee(const QString& str) m_nozzleStateMarqueeGapPx = qMax(20, labelWidth / 2); m_nozzleStateMarqueeOffsetPx = 0; m_nozzleStateMarqueeEnabled = true; + // 为走马灯绘制恢复居中对齐 + ui.lb_nozzleState->setAlignment(Qt::AlignVCenter | Qt::AlignHCenter); ui.lb_nozzleState->setText(QString()); ui.lb_nozzleState->update(); diff --git a/mainwidget.h b/mainwidget.h index 6a4ce78..b4f186b 100644 --- a/mainwidget.h +++ b/mainwidget.h @@ -82,7 +82,7 @@ public: int imageToPrintData(QImage& img, int startX, int startY); void generateCharRamData(); - void setRunStatus(QString str); + void setRunStatus(QString str, bool enbRoll = true); void enablePrintButton(bool); int getCurrPrintStatus();