modbus_test/gui/status.py

38 lines
1.3 KiB
Python

from PyQt5.QtWidgets import QWidget, QLabel, QVBoxLayout, QApplication
from PyQt5.QtCore import QTimer, Qt
class Status(QWidget):
def __init__(self, status):
super().__init__()
self.status = status
# Инициализация пользовательского интерфейса
self.initUI()
# Таймер для обновления статуса
self.timer = QTimer(self)
self.timer.timeout.connect(self.updateStatus)
self.timer.start(1000) # Обновление каждые 1000 мс (1 секунда)
def initUI(self):
self.layout = QVBoxLayout()
# Создание метки для отображения статуса
self.statusLabel = QLabel(self.status())
self.layout.addWidget(self.statusLabel)
self.setLayout(self.layout)
self.setFixedHeight(100)
def paintEvent(self, event):
# Установка цвета фона
self.setAutoFillBackground(True)
p = self.palette()
p.setColor(self.backgroundRole(), Qt.lightGray)
self.setPalette(p)
def updateStatus(self):
# Обновление текста метки статуса
self.statusLabel.setText(self.status())