From c639eb632e09cd00063351e272d629ab45b78f37 Mon Sep 17 00:00:00 2001 From: zhangsan Date: Thu, 21 Oct 2021 18:01:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=B6=88=E6=81=AF=E4=B8=AD?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=80=92=E8=AE=A1=E6=97=B6=E4=B8=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mainwidget.cpp | 21 +++++++++++++-------- mainwidget.h | 2 +- patientemergencyinfo.h | 2 +- websocketservice.cpp | 2 +- websocketservice.h | 2 +- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/mainwidget.cpp b/mainwidget.cpp index d3230b4..1550075 100644 --- a/mainwidget.cpp +++ b/mainwidget.cpp @@ -99,13 +99,18 @@ void MainWidget::updateUi() ui->textLabel->setText(pInfo->text); //显示倒计时 - int hour,min,sec,nTotalSecs; - nTotalSecs = pInfo->realCountDownInSeconds; - sec = nTotalSecs % 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')); + QString str = ""; + if(pInfo->realCountDownInSeconds < 0){ + str = ""; + }else{ + int hour,min,sec,nTotalSecs; + nTotalSecs = pInfo->realCountDownInSeconds; + sec = nTotalSecs % 60; + // min = nTotalSecs / 60 % 60; + min = nTotalSecs / 60 ; //min显示大于60 + hour = nTotalSecs / 3600; + str = QString("%1:%2").arg(min,2,10,QLatin1Char('0')).arg(sec,2,10,QLatin1Char('0')); + } ui->countdownLabel->setText(str); } @@ -156,7 +161,7 @@ void MainWidget::onWsConnectedStatusChanged(int status) updateUi(); } -void MainWidget::onNewPatientMergencyInfo(QString firstAidId, QString name, QString content, quint64 realCountDownInSeconds) +void MainWidget::onNewPatientMergencyInfo(QString firstAidId, QString name, QString content, qint64 realCountDownInSeconds) { //TODO 此处是否需要加锁处理 PatientEmergencyInfo *pInfo = new PatientEmergencyInfo(firstAidId,name,content,realCountDownInSeconds); diff --git a/mainwidget.h b/mainwidget.h index 9166d9b..b1f6511 100644 --- a/mainwidget.h +++ b/mainwidget.h @@ -36,7 +36,7 @@ private: public slots: void updateUi(); void onWsConnectedStatusChanged(int); - void onNewPatientMergencyInfo(QString firstAidId,QString name,QString content,quint64 realCountDownInSeconds); + void onNewPatientMergencyInfo(QString firstAidId,QString name,QString content,qint64 realCountDownInSeconds); void onPatientMergencyStatusChanged(QString firstAidId,QString time,QString status); void addPatientToList(PatientEmergencyInfo *); void deletePatientFromList(QString firstAidId); diff --git a/patientemergencyinfo.h b/patientemergencyinfo.h index 2a492b7..c693f44 100644 --- a/patientemergencyinfo.h +++ b/patientemergencyinfo.h @@ -13,7 +13,7 @@ public: QString id; QString name; QString text; - quint64 realCountDownInSeconds; + qint64 realCountDownInSeconds; signals: diff --git a/websocketservice.cpp b/websocketservice.cpp index 918b687..1970982 100644 --- a/websocketservice.cpp +++ b/websocketservice.cpp @@ -120,7 +120,7 @@ void WebsocketService::handleWsButtonStartMsg(QJsonObject jobj) QString firstAidId = jobj.take("firstAidId").toString(); QString name = jobj.take("name").toString(); QString content = jobj.take("content").toString(); - quint64 realCountdown = jobj.take("realCountdown").toString().toInt(0) / 1000; + qint64 realCountdown = jobj.take("realCountdown").toString("-1000").toInt(0) / 1000; emit newPatientMergencyInfo(firstAidId,name,content,realCountdown); } diff --git a/websocketservice.h b/websocketservice.h index f8bec9a..b0e5b3f 100644 --- a/websocketservice.h +++ b/websocketservice.h @@ -25,7 +25,7 @@ private: signals: void wsConnectedStatusChanged(int); //void newPatientMergencyInfo(PatientEmergencyInfo *); - void newPatientMergencyInfo(QString firstAidId,QString name,QString content,quint64 realCountDownInSeconds); + void newPatientMergencyInfo(QString firstAidId,QString name,QString content,qint64 realCountDownInSeconds); void patientMergencyStatusChanged(QString firstAidId,QString time,QString status); public slots: void onConnected();