QGroupBox
имеет сигнал clicked
, который имеет необязательный параметр checked
. Предположим, я пытаюсь подключить к нему слот внутри некоторого класса: box.clicked.connect(self.func)
, поэтому объявление слота должно быть def func(self, checked)
, но func
вызывается только с одним аргументом. Как получить желаемое поведение func
, вызываемого как с самим собой, так и с дополнительными аргументами checked
?Сигнал PySide с аргументом
0
A
ответ
1
Поведение сигналов с дополнительными параметрами по умолчанию отличается между PyQt и PySide. В PyQt, параметр по умолчанию всегда послал, но в PySide вы должны явно запросить его:
box.clicked[bool].connect(self.func)
Это гораздо лучший выбор дизайна, я бы сказал, что поведение PyQt часто может привести к ошибкам если вы забудете, что значение по умолчанию будет отправлено, даже если вы его не просили. Случай явного быть лучше, чем неявный ...