PyQt - 无法检查Radiobuttons

时间:2011-07-07 14:50:47

标签: python radio-button pyqt

我想用单选按钮显示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)

有什么明显的东西我不见了吗?

1 个答案:

答案 0 :(得分:0)

  1. “单选按钮通常为用户提供”众多“选项。在一组单选按钮中,一次只能检查一个单选按钮;如果用户选择另一个按钮,则先前选择的按钮关掉了。“

  2. 如果这不是您想要的行为,您可以考虑使用检查按钮(QCheckButton)。如果是:

  3. 您需要确保没有在代码中的任何地方偶然设置setAutoExclusive(false)任何这些单选按钮(默认设置为true)。

  4. 我可以建议的最后一件事(根据您显示的代码):尝试将单选按钮放在QButtonGroup()而不是QGroupBox()中。