PySide错误:分组按钮的类型错误:仅接受1个参数,1个给定参数

2024-10-03 21:34:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对按钮进行分组,以便检测是否正在单击某个按钮组的成员

例如:

如果我们有button1和button2,而且它们都在buttonGroupA中,我想知道buttonGroupA是否被点击,下面是stackoverflow帖子中建议的一个实现

from PySide import QtGui, QtCore

class ButtonGroup(QtCore.QObject):
    trigger = QtCore.Signal(bool)

    def addButton(self, button):
        button.clicked.connect(self.trigger.emit)

    def removeButton(self, button):
        button.clicked.disconnect(self.trigger.emit)




# In state class

    self.displayGroupButton = group_button.ButtonGroup()

# In display class

    testButton = QtGui.QPushButton("testing", self._container)
    self.state.displayGroupButton.addButton(testButton)
    grid.addWidget(testButton, 0, 7)

问题是如果我有

 self.state.displayGroupButton.addButton(testButton)

点击按钮,出现如下错误

TypeError: trigger(bool) only accepts 1 arguments, 1 given!

如果我没有

self.state.displayGroupButton.addButton(testButton)

没有错误

有人能解释一下为什么它表现出这种行为吗?你知道吗


Tags: selfdefbutton按钮classboolstatetrigger