Warum Sie kein QButtonGroup verwenden? Es ist standardmäßig exklusiv und hilft Ihnen, die Ereignisse zu verfolgen und darauf zu reagieren, wenn Sie auf eine Option klicken.
Code-Beispiel:
from PyQt5.QtWidgets import *
app = QApplication([])
w = QWidget()
w.setWindowTitle('pyqt')
l = QVBoxLayout(w)
l.setContentsMargins(0, 0, 0, 0)
l.addWidget(QLabel('Choose your favorite programming language:'))
titles = ['Python', 'Perl', 'Java', 'C++', 'C']
buttons = [QPushButton(title) for title in titles]
button_group = QButtonGroup()
for button in buttons:
l.addWidget(button)
button_group.addButton(button)
button.setCheckable(True)
w.show()
app.exec()
, die bis auf Unterschiede in der Art, wie Ihr Beispiel aussieht (verwenden Qt stylesheets dafür).
Ich glaube nicht, müssen Sie sie selbst entwerfen, oder Sie können einfach Tasten mit etwas Logik Optionsfeld. Es wird nicht schwer zu implementieren sein. –
Wie geht es Ihnen anders als erwartet? Ihr Code sieht für mich ok aus, obwohl Sie offensichtlich nur einen Knopf zeigen. –