2017-04-06 62 views
1

我似乎无法弄清楚我在PyQt中如何做到这一点。它使单选按钮,更像是按钮(这是Tkinter的)
enter image description here如何在PyQt中制作像单选按钮的按钮?

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

我不这么认为,你必须给他们自己设计,也可以简单地使用按钮与一些单选按钮逻辑。这将不难实现。 –

+0

你在做什么和你期望的不同?你的代码对我来说看起来不错,尽管你显然只显示一个按钮。 –

回答

2

你为什么不使用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

+0

谢谢你,我正在寻找什么! –