Topbar layout change

This commit is contained in:
Krad
2021-12-17 10:24:05 +08:00
parent 2b6eea9145
commit b6c272181e
5 changed files with 31 additions and 116 deletions

View File

@@ -7,22 +7,37 @@
#include <QHBoxLayout>
#include <src/components/RollingMessageWidget.h>
#include <QDateTime>
#include "event/EventCenter.h"
TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f) {
QHBoxLayout* layout = new QHBoxLayout(this);
layout->setMargin(0);
QLabel * logo = new QLabel(this);
QPixmap img(":/icons/logo.png");
logo->setPixmap(img.scaledToHeight(33, Qt::SmoothTransformation));
logo->setObjectName("logo");
layout->addWidget(logo);
QLabel * company = new QLabel(this);
company->setObjectName("company");
layout->addWidget(company);
company->setText(tr("浙江衡玖医疗科技"));
QWidget* spacerLine0 = new QWidget(this);
spacerLine0->setFixedWidth(2);
spacerLine0->setObjectName("spacer_2");
layout->addWidget(spacerLine0);
QLabel * lbl_msglogo = new QLabel(this);
lbl_msglogo->setObjectName("lbl_msglogo");
lbl_msglogo->setPixmap(QPixmap(":/icons/msg.png").scaledToHeight(26, Qt::SmoothTransformation));
layout->addWidget(lbl_msglogo);
QWidget* widgetMsg = new QWidget(this);
layout->addWidget(widgetMsg);
widgetMsg->setObjectName("need_border");
QWidget* statusBarWidget = new QWidget(this);
layout->addWidget(statusBarWidget);
QLabel* hosp = new QLabel(this);
hosp->setText(tr("浙江大学医学院附属第二医院"));
// hosp->setText(tr("浙江大学医学院附属第二医院"));
QLabel* nowDate = new QLabel(this);
nowDate->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
QLabel* linkIcon = new QLabel(this);
@@ -45,10 +60,8 @@ TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent,
layout->addWidget(linkIcon);
layout->addWidget(readyIcon);
layout->addWidget(lockIcon);
QWidget* widgetMsg = new QWidget(this);
layout->addWidget(widgetMsg);
QVBoxLayout* l = new QVBoxLayout(widgetMsg);
widgetMsg->setObjectName("need_border");
l->setMargin(0);
auto w = new RollingMessageWidget(this);
QStringList msgs;
@@ -57,4 +70,10 @@ TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent,
w->setMessageList(msgs, visibleValues);
w->setObjectName("need_border");
l->addWidget(w);
connect(EventCenter::Default(), &EventCenter::ResponseDeviceTemperature, [=](QObject*, QObject* msg) {
nowDate->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
if (!msg) return;
QString* s = (QString*)msg;
lockIcon->setText(QString("%1%2").arg(*s).arg(tr("°C")));
});
}