From e43c7c7a475cb36398bd412f0afeeb6e212cabcb Mon Sep 17 00:00:00 2001 From: Bai Date: Thu, 21 Oct 2021 10:17:19 +0800 Subject: [PATCH] =?UTF-8?q?textLable=20=E6=BB=9A=E5=8A=A8=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QCPShow.pro.user | 2 +- mainwidget.cpp | 37 +++++++++++++++++++++++++++++++------ mainwidget.h | 4 ++++ mainwidget.ui | 2 +- 4 files changed, 37 insertions(+), 8 deletions(-) diff --git a/QCPShow.pro.user b/QCPShow.pro.user index 7310f0d..d4f0342 100644 --- a/QCPShow.pro.user +++ b/QCPShow.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/mainwidget.cpp b/mainwidget.cpp index f5a30b5..08a9305 100644 --- a/mainwidget.cpp +++ b/mainwidget.cpp @@ -39,18 +39,22 @@ MainWidget::MainWidget(QWidget *parent) : ui->statusLabel->setText("Not Connected"); //显示设置 - QFont font1, font2; font1.setPointSize(240); - font2.setPointSize(20); + font2.setPointSize(240); + font3.setPointSize(20); ui->textLabel->setFont(font1); - ui->countdownLabel->setFont(font1); - ui->statusLabel->setFont(font2); + ui->countdownLabel->setFont(font2); + ui->statusLabel->setFont(font3); ui->textLabel->setStyleSheet("QLabel {color: rgb(255,0,0);}");//设置文本红色 ui->countdownLabel->setStyleSheet("QLabel {color: rgb(255,0,0);}");//设置文本红色 ui->statusLabel->setStyleSheet("QLabel {color: rgb(85,255,0);}");//设置文本绿色 // ui->textLabel->setAlignment(Qt::AlignHCenter); // ui->countdownLabel->setAlignment(Qt::AlignHCenter); // ui->statusLabel->setAlignment(Qt::AlignRight); + + m_curX = 0; + connect(&m_lableScrollTimer,SIGNAL(timeout()),this,SLOT(lableScrollDisplay())); + m_lableScrollTimer.start(10); } MainWidget::~MainWidget() @@ -60,6 +64,8 @@ MainWidget::~MainWidget() void MainWidget::updateUi() { + m_curX = 0;//内容超出显示区域时,更新患者信息显示从头开始滚动 + //更新statusLabel // ui->statusLabel->setText(QString("%1 | %2") // .arg(m_wsConnectedStatus == 0 ? "未连接" : "已连接") @@ -92,7 +98,8 @@ void MainWidget::updateUi() int hour,min,sec,nTotalSecs; nTotalSecs = pInfo->realCountDownInSeconds; sec = nTotalSecs % 60; - min = nTotalSecs / 60 % 60; +// min = nTotalSecs / 60 % 60; + min = nTotalSecs / 60 ; //min显示大于60 hour = nTotalSecs / 3600; QString str = QString("%1:%2").arg(min,2,10,QLatin1Char('0')).arg(sec,2,10,QLatin1Char('0')); ui->countdownLabel->setText(str); @@ -114,12 +121,30 @@ void MainWidget::resizeEvent(QResizeEvent *event) QWidget::resizeEvent(event); //标题 - ui->textLabel->setGeometry(0,0,this->width(),(this->height()-30)/2); +// ui->textLabel->setGeometry(0,0,this->width(),(this->height()-30)/2); ui->countdownLabel->setGeometry(0,(this->height()-30)/2,this->width(),(this->height()-30)/2); ui->LEDLabel->setGeometry(this->width()-120,this->height()-30,20,30); ui->statusLabel->setGeometry(this->width()-80,this->height()-30,20,30); } +void MainWidget::lableScrollDisplay() +{ + QFontMetrics fm(font1); + m_width = fm.width(ui->textLabel->text()); + if(this->width() > m_width){ + ui->textLabel->setGeometry((this->width()-m_width)/2, 0,m_width,(this->height()-30)/2); + } + else{ + m_curX ++; + ui->textLabel->setGeometry(20-m_curX,0,m_width,(this->height()-30)/2); +// qDebug()<<"move" < (m_width - this->width())){ + m_curX = 0; + } + +} + void MainWidget::onWsConnectedStatusChanged(int status) { qDebug() << "MainWidget::onWsConnectedStatusChanged " << status; diff --git a/mainwidget.h b/mainwidget.h index f07e920..4c7e2a2 100644 --- a/mainwidget.h +++ b/mainwidget.h @@ -28,6 +28,9 @@ private: QTimer m_countDownTimer; QTimer m_switchPatientTimer; int m_wsConnectedStatus; + QFont font1, font2, font3; + QTimer m_lableScrollTimer; + int m_width, m_curX; public slots: void updateUi(); @@ -36,6 +39,7 @@ public slots: void onPatientMergencyStatusChanged(QString firstAidId,QString time,QString status); void addPatientToList(PatientEmergencyInfo *); void deletePatientFromList(QString firstAidId); + void lableScrollDisplay(); signals: void statusChanged(QString firstAidId,QString status); diff --git a/mainwidget.ui b/mainwidget.ui index 5a81ad5..e86e9db 100644 --- a/mainwidget.ui +++ b/mainwidget.ui @@ -23,7 +23,7 @@ - textLabel + 传控科技优先做CT Qt::AlignCenter