Vincent Hanewinkel f09b7c481b init commit
2025-08-14 20:15:43 +02:00

52 lines
1.5 KiB
Python

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QListWidgetItem, QPushButton, QLabel, QHBoxLayout, QVBoxLayout
class ListItemWidget(QWidget):
def __init__(self, text, index, btn1f, btn2f):
super().__init__()
self.text = text
self.index = index # damit wir wissen, zu welchem Eintrag der Button gehört
layout = QHBoxLayout(self)
# Label für den Text
label = QLabel(text)
layout.addWidget(label)
# Zwei Buttons rechts
btn1 = QPushButton("Start")
btn2 = QPushButton("Stop")
# Funktionen verbinden
btn1.clicked.connect(btn1f)
btn2.clicked.connect(btn2f)
layout.addWidget(btn1)
layout.addWidget(btn2)
layout.setContentsMargins(5, 2, 5, 2)
layout.addStretch()
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Liste mit 2 Köpfen")
self.resize(300, 200)
main_layout = QVBoxLayout(self)
# QListWidget
self.list_widget = QListWidget()
main_layout.addWidget(self.list_widget)
def add_list_item(self, text, index ,btn1f, btn2f):
item = QListWidgetItem(self.list_widget)
widget = ListItemWidget(text)
item.setSizeHint(widget.sizeHint())
self.list_widget.addItem(item)
self.list_widget.setItemWidget(item, widget)
def startGUI():
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())