0

QGroupBoxclickedオプションのcheckedパラメーターを持つシグナルがあります。so:box.clicked.connect(self.func)のようなクラス内でスロットをそれに接続しようとしているとします。そのため、スロットの宣言は である必要がありますがdef func(self, checked)func1 つの引数だけで呼び出されています。funcself とオプションのchecked引数の両方で呼び出されるという望ましい動作を得るにはどうすればよいですか?

4

1 に答える 1

1

オプションのデフォルト パラメータを持つシグナルの動作は、PyQt と PySide で異なります。PyQt ではデフォルト パラメータが常に送信されますが、PySide では明示的にリクエストする必要があります。

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

要求していなくてもデフォルト値が送信されることを忘れると、PyQt の動作がバグにつながることが多いため、これははるかに優れた設計上の選択です。暗黙的より明示的の方が優れている場合...

于 2016-04-25T17:04:06.767 に答える