【问题标题】:PyQt - Radiobuttons not checkablePyQt - 单选按钮不可检查
【发布时间】:2011-09-30 13:15:20
【问题描述】:

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

我有什么明显的遗漏吗?

【问题讨论】:

  • 当你点击按钮时你想发生什么?
  • 我无法重现您的问题。你能发布一个完整的程序来演示你的问题吗?
  • 同上,代码以基本形式为我工作。你能展示更多吗?

标签: python radio-button pyqt


【解决方案1】:
  1. “单选按钮通常为用户提供“多选”选项。在一组单选按钮中,一次只能检查一个单选按钮;如果用户选择另一个按钮,则之前选择的按钮已关闭。”

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

  3. 您需要确保您没有在代码中为任何这些单选按钮意外设置setAutoExclusive(false)(默认情况下设置为 true)。

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

【讨论】:

    猜你喜欢
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2016-08-17
    • 2013-10-28
    相关资源
    最近更新 更多