2014-11-14 5 views
0

Я работаю с Qt, который я использовал для создания графического интерфейса моего приложения,Как работает Qt Slots. PySide

Я понимаю сигналы, ведьма Я подключаюсь к своим def (функциям), и это работает так, как я хочу. Но кроме Сигналы Slot, и я не получить, в чем разница между [сигнал - функция] соединения и [сигнал - слот] подключения

Я использую этот материал так:

class theOne(QObject): 

    started = Signal() 

    def __init__(self): 
     ... 

    def function(self): 
     self.started.connect(self.goStart) 
     self.started.emit() 

    def goStart(self): 
     """some actions""" 

Может кто-нибудь попытаться объяснить мне, для чего нужны слоты? Что же они могут принять некоторые параметры? Но нормальные функции также выполняются. Спасибо за ваше время.

+1

http://qt-project.org/doc/qt-4.8/signalsandslots.html должно помочь – kwarunek

+0

Да, я прочитал версия PySide, но я не вижу этого, как хочу видеть, для меня это не так очевидно. Может кто-нибудь что-то сказать, в чем разница между использованием функции и использованием слота? Спасибо за ваше время. – user4175226

ответ

0

Слоты - это функции. Единственное различие между слотами и функциями заключается в том, что с ключевым словом slot компилятор Qt metaobject (MOC) будет захватывать указатель на функцию этой функции и использовать его для своей цели (например, для ответа на сигнал). Вы можете полностью воспроизвести этот процесс, захватив указатель одной из ваших функций и назовите его, когда логическое значение true.

Надеюсь, что это поможет.

PS: Мой фон и навыки более C++, связанные, но вы должны получить свою точку;)

+0

Мне нужно было прочитать о дефляторах Python, чтобы понять, что происходит. Спасибо за ответ, все ясно. – user4175226

+0

Рад, что это помогло! – Nox