Vincent Hanewinkel a317fcb5d1 test
2025-08-14 22:21:22 +02:00

37 lines
1.2 KiB
Python

# gui.py
from PyQt5.QtWidgets import QWidget, QListWidget, QListWidgetItem, QPushButton, QLabel, QHBoxLayout, QVBoxLayout
class ListItemWidget(QWidget):
def __init__(self, text, index):
super().__init__()
self.index = index
lay = QHBoxLayout(self)
lay.addWidget(QLabel(text))
lay.addStretch()
self.btn_start = QPushButton("Start")
self.btn_stop = QPushButton("Stop")
self.btn_stop.setEnabled(False)
lay.addWidget(self.btn_start)
lay.addWidget(self.btn_stop)
lay.setContentsMargins(5,2,5,2)
def set_running(self, running: bool):
self.btn_start.setEnabled(not running)
self.btn_stop.setEnabled(running)
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Logger")
lay = QVBoxLayout(self)
self.list_widget = QListWidget()
lay.addWidget(self.list_widget)
def add_list_item(self, text, index):
item = QListWidgetItem()
w = ListItemWidget(text, index)
item.setSizeHint(w.sizeHint())
self.list_widget.addItem(item)
self.list_widget.setItemWidget(item, w)
return w