Ok, thanks.
Phil Thompson schrieb: > On Tuesday 29 May 2007 11:58 am, Alexander Eisenhuth wrote: >> Hello pyqt users, >> >> i tried to use signal / slot across threads. With the following example I >> want to emit a signal when the thread loop is entered. The connected slot >> is never called. Why? >> >> Any help is very welcome ... >> >> Alexander >> >> import time >> import sys >> import PyQt4 >> from PyQt4.QtCore import (QObject, QThread) >> SIGNAL = PyQt4.QtCore.SIGNAL >> >> class CancelableQtThread_(QThread): >> >> def __init__(self): >> QThread.__init__(self) >> self.sigStarted = SIGNAL("sigStarted()") >> >> def run(self): >> print "Enter thread" >> self.emit(self.sigStarted) >> time.sleep(0.1) >> print "Leave thread" >> >> class TestSigSlot(QObject): >> >> def __init__(self): >> QObject.__init__(self) >> self._thread = CancelableQtThread_() >> self.connect(self._thread, self._thread.sigStarted, self.Called) >> self._thread.start() >> >> time.sleep(1.0) >> >> def Called(self): >> print "Called !" >> >> if __name__ == "__main__": >> obj = TestSigSlot() > > Signals across threads are implemented using the event loop. You don't have > an > event loop running in your main thread - you don't even have a > QCoreApplication instance. > > Phil -- http://mail.python.org/mailman/listinfo/python-list