2016-04-25 5 views
0

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

ответ

1

Поведение сигналов с дополнительными параметрами по умолчанию отличается между PyQt и PySide. В PyQt, параметр по умолчанию всегда послал, но в PySide вы должны явно запросить его:

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

Это гораздо лучший выбор дизайна, я бы сказал, что поведение PyQt часто может привести к ошибкам если вы забудете, что значение по умолчанию будет отправлено, даже если вы его не просили. Случай явного быть лучше, чем неявный ...

 Смежные вопросы

  • Нет связанных вопросов^_^