Browse Source

textLable 滚动显示

pull/3/head
Bai 4 years ago
parent
commit
e43c7c7a47
  1. 2
      QCPShow.pro.user
  2. 37
      mainwidget.cpp
  3. 4
      mainwidget.h
  4. 2
      mainwidget.ui

2
QCPShow.pro.user

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.2.1, 2021-10-20T18:01:26. -->
<!-- Written by QtCreator 4.2.1, 2021-10-21T10:14:57. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>

37
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_curX;
}
if(m_curX > (m_width - this->width())){
m_curX = 0;
}
}
void MainWidget::onWsConnectedStatusChanged(int status)
{
qDebug() << "MainWidget::onWsConnectedStatusChanged " << status;

4
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);

2
mainwidget.ui

@ -23,7 +23,7 @@
</rect>
</property>
<property name="text">
<string>textLabel</string>
<string>传控科技优先做CT</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>

Loading…
Cancel
Save