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"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!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> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

37
mainwidget.cpp

@ -39,18 +39,22 @@ MainWidget::MainWidget(QWidget *parent) :
ui->statusLabel->setText("Not Connected"); ui->statusLabel->setText("Not Connected");
//显示设置 //显示设置
QFont font1, font2;
font1.setPointSize(240); font1.setPointSize(240);
font2.setPointSize(20); font2.setPointSize(240);
font3.setPointSize(20);
ui->textLabel->setFont(font1); ui->textLabel->setFont(font1);
ui->countdownLabel->setFont(font1); ui->countdownLabel->setFont(font2);
ui->statusLabel->setFont(font2); ui->statusLabel->setFont(font3);
ui->textLabel->setStyleSheet("QLabel {color: rgb(255,0,0);}");//设置文本红色 ui->textLabel->setStyleSheet("QLabel {color: rgb(255,0,0);}");//设置文本红色
ui->countdownLabel->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->statusLabel->setStyleSheet("QLabel {color: rgb(85,255,0);}");//设置文本绿色
// ui->textLabel->setAlignment(Qt::AlignHCenter); // ui->textLabel->setAlignment(Qt::AlignHCenter);
// ui->countdownLabel->setAlignment(Qt::AlignHCenter); // ui->countdownLabel->setAlignment(Qt::AlignHCenter);
// ui->statusLabel->setAlignment(Qt::AlignRight); // ui->statusLabel->setAlignment(Qt::AlignRight);
m_curX = 0;
connect(&m_lableScrollTimer,SIGNAL(timeout()),this,SLOT(lableScrollDisplay()));
m_lableScrollTimer.start(10);
} }
MainWidget::~MainWidget() MainWidget::~MainWidget()
@ -60,6 +64,8 @@ MainWidget::~MainWidget()
void MainWidget::updateUi() void MainWidget::updateUi()
{ {
m_curX = 0;//内容超出显示区域时,更新患者信息显示从头开始滚动
//更新statusLabel //更新statusLabel
// ui->statusLabel->setText(QString("%1 | %2") // ui->statusLabel->setText(QString("%1 | %2")
// .arg(m_wsConnectedStatus == 0 ? "未连接" : "已连接") // .arg(m_wsConnectedStatus == 0 ? "未连接" : "已连接")
@ -92,7 +98,8 @@ void MainWidget::updateUi()
int hour,min,sec,nTotalSecs; int hour,min,sec,nTotalSecs;
nTotalSecs = pInfo->realCountDownInSeconds; nTotalSecs = pInfo->realCountDownInSeconds;
sec = nTotalSecs % 60; sec = nTotalSecs % 60;
min = nTotalSecs / 60 % 60; // min = nTotalSecs / 60 % 60;
min = nTotalSecs / 60 ; //min显示大于60
hour = nTotalSecs / 3600; hour = nTotalSecs / 3600;
QString str = QString("%1:%2").arg(min,2,10,QLatin1Char('0')).arg(sec,2,10,QLatin1Char('0')); QString str = QString("%1:%2").arg(min,2,10,QLatin1Char('0')).arg(sec,2,10,QLatin1Char('0'));
ui->countdownLabel->setText(str); ui->countdownLabel->setText(str);
@ -114,12 +121,30 @@ void MainWidget::resizeEvent(QResizeEvent *event)
QWidget::resizeEvent(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->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->LEDLabel->setGeometry(this->width()-120,this->height()-30,20,30);
ui->statusLabel->setGeometry(this->width()-80,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) void MainWidget::onWsConnectedStatusChanged(int status)
{ {
qDebug() << "MainWidget::onWsConnectedStatusChanged " << status; qDebug() << "MainWidget::onWsConnectedStatusChanged " << status;

4
mainwidget.h

@ -28,6 +28,9 @@ private:
QTimer m_countDownTimer; QTimer m_countDownTimer;
QTimer m_switchPatientTimer; QTimer m_switchPatientTimer;
int m_wsConnectedStatus; int m_wsConnectedStatus;
QFont font1, font2, font3;
QTimer m_lableScrollTimer;
int m_width, m_curX;
public slots: public slots:
void updateUi(); void updateUi();
@ -36,6 +39,7 @@ public slots:
void onPatientMergencyStatusChanged(QString firstAidId,QString time,QString status); void onPatientMergencyStatusChanged(QString firstAidId,QString time,QString status);
void addPatientToList(PatientEmergencyInfo *); void addPatientToList(PatientEmergencyInfo *);
void deletePatientFromList(QString firstAidId); void deletePatientFromList(QString firstAidId);
void lableScrollDisplay();
signals: signals:
void statusChanged(QString firstAidId,QString status); void statusChanged(QString firstAidId,QString status);

2
mainwidget.ui

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

Loading…
Cancel
Save