2017-04-06 3 views
1

Ich kann nicht herausfinden, wie ich so etwas in PyQt machen könnte. Es macht die Radiobuttons, eher wie Tasten (dies ist tkinter)
enter image description hereWie mache ich Tastenknöpfe in PyQt?

Radiobutton(root, 
       text=txt, 
       indicatoron = 0, 
       width = 20, 
       padx = 20, 
       variable=v, 
       command=ShowChoice, 
       value=val).pack(anchor=W) 
+0

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. –

+0

Wie geht es Ihnen anders als erwartet? Ihr Code sieht für mich ok aus, obwohl Sie offensichtlich nur einen Knopf zeigen. –

Antwort

2

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).

enter image description here

+0

Danke, genau das, was ich gesucht habe! –