我想用单选按钮显示SQL查询的结果。为此,我使用了一组radiobuttons。这工作正常,它显示我想要的。我遇到的问题是按钮不是“可检查的”。如果我点击它们,没有任何反应。我确定这是一个愚蠢的错误,但我看不出有什么不对。
这是我的代码:
groups = select.getGroups(self.parent.db) #This returns a list of strings
self.groupList = {}
self.groupBtn = []
i = 0
radioLayout = QtGui.QVBoxLayout()
radioGroup = QtGui.QGroupBox()
for g in groups:
self.groupList[g[0]] = i
name = g[0]
self.groupBtn.append(QtGui.QRadioButton(name))
radioLayout.addWidget(self.groupBtn[i])
i = i+1
radioGroup.setLayout(radioLayout)
self.groupBtn[0].setChecked(True)
self.groupLayout.addWidget(radioGroup)
有什么明显的东西我不见了吗?
答案 0 :(得分:0)
“单选按钮通常为用户提供”众多“选项。在一组单选按钮中,一次只能检查一个单选按钮;如果用户选择另一个按钮,则先前选择的按钮关掉了。“
如果这不是您想要的行为,您可以考虑使用检查按钮(QCheckButton)。如果是:
您需要确保没有在代码中的任何地方偶然设置setAutoExclusive(false)
任何这些单选按钮(默认设置为true)。
我可以建议的最后一件事(根据您显示的代码):尝试将单选按钮放在QButtonGroup()而不是QGroupBox()中。