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