0

QGroupBoxclicked具有带有可选checked参数的信号。假设我正在尝试在某个类中将一个插槽连接到它:box.clicked.connect(self.func),因此插槽的声明必须是def func(self, checked),但func仅使用一个参数调用。如何获得func使用 self 和可选checked参数调用的所需行为?

4

1 回答 1

1

PyQt 和 PySide 之间具有可选默认参数的信号的行为不同。在 PyQt 中,始终发送默认参数,但在 PySide 中,您必须显式请求它:

    box.clicked[bool].connect(self.func)

我会说这是一个更好的设计选择,因为如果您忘记即使您没有要求它也会发送默认值,PyQt 行为通常会导致错误。一个显式优于隐式的案例......

于 2016-04-25T17:04:06.767 回答