Почему синтаксис PyQt connect () настолько подробный?

Я просто изучаю PyQt и смотрю на механизм Signals and Slots. Я немного озадачен подробным синтаксисом. Почему у нас есть:

self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue) 

Я бы предпочел написать следующее:

 self.connect(dial.valueChanged, spinbox.setValue) 

Может ли кто-нибудь сказать мне, почему синтаксис connect () должен быть таким явным / подробным?

3 Solutions collect form web for “Почему синтаксис PyQt connect () настолько подробный?”

Вы можете использовать новые сигналы стиля PyQt, которые являются менее подробными:

 self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue) 

становится:

 dial.valueChanged.connect(spinbox.setValue) 

Ответ Лупера намного лучше, чем этот, но ради полноты …

Уродливый синтаксис «старого стиля» – это анахронизм из мира C++ – просто посмотрите на синтаксис, с которым должны работать те парни! Yucky …

Еще более короткий путь – назначить имя сигнала функции в аргументах ключевого слова конструктора, например QDial(valueChanged=spinbox.setValue) . PyQt автоматически подключит сигнал spinbox.setValue() к spinbox.setValue() .

  • Qt4 + mplot3d of matplotlib
  • Создание диалога с файлом допускает только каталоги
  • группировка радиокнопки в PyQt
  • QWizard: изменение высоты / размеров поля заголовка
  • Получить индекс строки QTableWidget, зная ее элементы
  • Как установить Pyside для Python 2.7?
  • Как изменить размер QMainWindow после удаления всех DockWidgets?
  • QWidget, как QTextEdit, который автоматически переносит свою высоту в его содержимое?
  • Python - лучший язык программирования в мире.