PyQt - 单选按钮无法选择

1 投票
1 回答
1531 浏览
提问于 2025-04-16 21:01

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

我是不是漏掉了什么明显的东西?

1 个回答

0
  1. 单选按钮通常让用户在多个选项中选择一个。在一组单选按钮中,任何时候只能选中一个;如果用户选择了另一个按钮,之前选中的按钮就会自动取消选择。

  2. 如果你希望有不同的选择方式,可以考虑使用复选按钮(QCheckButton)。如果你希望保持单选按钮的行为,就继续使用它。

  3. 你需要确保在代码的某个地方没有不小心把 setAutoExclusive(false) 设置为 false,因为默认情况下这个选项是 true,意味着只能选一个。

  4. 最后,我建议你(根据你展示的代码):尝试把单选按钮放在 QButtonGroup() 中,而不是 QGroupBox() 中。

撰写回答