Pull to refresh

Comments 8

Не написано как средствами PyQt4 можно свои сигналы/слоты создавать, без этого многое теряется.
Угу, вот как раз над этим и думаю сейчас.
Любая функция класса наследника от QObject может быть слотом, былбы сигнал подходящий.
Сгенерировать сигнал можно например так:
self.emit(QtCore.SIGNAL("addingItem(QTreeWidgetItem*)"),item)
А с помощью декораторов можно еще уменьшить объем кода (избавиться от некоторых connect-ов)
любой метод может быть слотом, а сигналы создаются автоматически. Т.е. не нужно писать signals: или public slots: как в C++ версии.

http://www.diotavelli.net/PyQtWiki/Threading,_Signals_and_Slots
http://zetcode.com/tutorials/pyqt4/eventsandsignals/
http://techbase.kde.org/Development/Tutorials/Python_introduction_to_signals_and_slots
Удобно еще вместо слота в connect использовать lambda функции в случаях когда удобно использовать lambda функции :) т.е. когда и слота нет подходящего, и используется в одном месте, и кода совсем мало.
> Если мы щелкаем по кнопке Escape, то мы закроем приложение.
Как-то странно звучит.. Может нажимаем на кнопку Escape?
Спасибо, исправил.
Вызов слота обработчика сигнала от QAction без использования connect:
@QtCore.pyqtSignature("")
def on_actionExit_triggered(self):
Sign up to leave a comment.

Articles