【问题标题】:QButtonGroup not making checkboxes exclusiveQButtonGroup 没有使复选框独占
【发布时间】:2018-01-05 03:56:53
【问题描述】:

我正在尝试使用 QGroupBox 制作一组排他性复选框(据我所知,默认情况下是排他性的),但是当我运行我的程序时,复选框不是排他性的,并且它们的行为正常。

skillP = QCheckBox("Passive")
skillCb = QCheckBox("Combat")
skillCm = QCheckBox("Command")
skillP.setChecked(True)
addskillG = QButtonGroup()
addskillG.addButton(skillP)
addskillG.addButton(skillCm)
addskillG.addButton(skillCb)

是不是我做错了什么?

【问题讨论】:

  • 我刚试了你的代码,我发现没有问题,你可以显示更多代码,也许你的代码的另一部分错误是什么
  • 没有什么其他的了,不过还好:layout = QGridLayout() layout.addWidget(skillP, 1, 1) layout.addWidget(skillCb, 1, 2) layout.addWidget(skillCm, 1, 3) 不过我看不出这会带来什么改变。
  • 你试过我提出的测试了吗?
  • 是的,我有。它在单独执行时工作,但我的代码段仍然无法正常工作。

标签: python python-3.x pyqt pyqt5 qbuttongroup


【解决方案1】:

问题是因为垃圾收集器从内存中删除了变量 QButtonGroup,要解决这个问题,您必须将父对象传递给该对象:

addskillG = QButtonGroup(self)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    相关资源
    最近更新 更多