如何在PyQt中制作像radiobuttons这样的按钮?

时间:2017-04-06 09:54:11

标签: python tkinter pyqt

我似乎无法弄清楚如何在PyQt中做这样的事情。它使无线电按钮更像按钮(这是tkinter)
enter image description here

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

1 个答案:

答案 0 :(得分:3)

为什么不使用QButtonGroup?它默认是独占的,可以帮助您在单击选项时跟踪事件并对事件做出反应。

代码示例:

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

看起来像你的例子,除了样式的差异(使用Qt stylesheets)。

enter image description here