首页 > 解决方案 > PySide2 / QButtonGroup setExclusive 不起作用

问题描述

我在 PySide2 中遇到 QButtonGroup 问题。我想用 2 个按钮创建 QButtonGroup,以便同时只检查其中一个。

import sys
from PySide2.QtWidgets import (QApplication, QHBoxLayout, QWidget, QButtonGroup, QPushButton)

class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        layout = QHBoxLayout()

        buttonGroup = QButtonGroup()
        buttonGroup.setExclusive(True)

        button1 = QPushButton("button1")
        button1.setCheckable(True)

        button2 = QPushButton("button2")
        button2.setCheckable(True)

        buttonGroup.addButton(button1, 1)
        buttonGroup.addButton(button2, 2)

        layout.addWidget(button1)
        layout.addWidget(button2)

        self.setLayout(layout)
        self.show()

def main():
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

但是,“setExclusive”似乎不起作用,因为我可以同时选中(或取消选中)两个按钮。我错过了什么吗?

编辑

使用可重现的示例更新代码

标签: python-3.xpyside2qbuttongroup

解决方案


推荐阅读