#include "logwidget.h" #include LogWidget::LogWidget(QMap>> &translate, const QString &time, const QString &log, const QString &sensorId, const QString &group, const int status, QWidget *parent) : QWidget(parent) , _translate(translate) { setAttribute(Qt::WA_StyledBackground); setStyleSheet(R"( QWidget { border: 1px solid #E5E7EB; background-color: transparent; } )"); QHBoxLayout *mainLayout = new QHBoxLayout(this); mainLayout->setSpacing(70); mainLayout->setContentsMargins(25, 5, 25, 5); setLayout(mainLayout); timeLabel = createLabel(time, 100, 230); logLabel = createLabel(log, 100, 250); sensorIdLabel = createLabel(translate[group][sensorId].second, 150, 220); groupLabel = createLabel(translate[group][sensorId].first, 150, 100); QString msg; if (status == 0) { msg = "Отладка"; } else if (status == 1) { msg = "Информация"; } else if (status == 2) { msg = "Предупреждение"; } else if (status == 3) { msg = "Ошибка"; } else { msg = "Экстренно"; } statusLabel = createLabel(msg, 100, 120); mainLayout->addWidget(timeLabel); mainLayout->addWidget(logLabel); mainLayout->addWidget(sensorIdLabel); mainLayout->addWidget(groupLabel); mainLayout->addWidget(statusLabel); } QLabel *LogWidget::createLabel(const QString &text, int minSize, int maxSize) { QLabel *label = new QLabel(text); label->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); label->setWordWrap(true); label->setMinimumWidth(minSize); label->setMaximumWidth(maxSize); label->setFixedHeight(200); label->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); label->setStyleSheet(R"( background: transparent; font-family: Inter; font-size: 20px; font-weight: 400; color: #13385F; border: none; )"); return label; }