我想用单选按钮显示SQL查询的结果。为此,我使用一组单选按钮。这个很好,它显示了我想要的。我的问题是按钮不能“检查”。如果我点击它们,什么也不会发生。我敢肯定这是个愚蠢的错误,但我看不出有什么不对。在
这是我的代码:
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)
有什么明显的我遗漏了吗?在
单选按钮通常为用户提供一个“多选一”的选择。在一组单选按钮中,一次只能选中一个单选按钮;如果用户选择另一个按钮,则先前选定的按钮将被关闭。“
如果这不是您想要的行为,您可以考虑使用复选按钮(QCheckButton)。如果是:
您需要确保没有在代码中的某个地方为这些单选按钮设置
setAutoExclusive(false)
(默认情况下设置为true)。最后我可以建议(基于您展示的代码):尝试将单选按钮放在QButtonGroup()而不是QGroupBox()中。
相关问题 更多 >
编程相关推荐