But If I call long-running funtions in a run() method everything works as expected. I want to call such functions also from outside (using a signal-slot- connection from another thread).
Am Mittwoch 12 August 2009 20:26:38 schrieb Arnold Krille: > Hi, > > On Wednesday 12 August 2009 19:04:46 Lukas Hetzenecker wrote: > > is it possible to connect signals from a Widget to a slot in a QThread > > and ensure that the Widget responds to keypress and mouse events? > > I attached my first try, but it doesn't work, the UI blocks until the > > execution of the function is finished. > > Without looking at the code: This is not a problem with Qt but with python. > The keyword is GIL, the global interpreter lock which ensures that only one > thread is executing python in this runtime instance. > > There are two ways to have "true" threads: > 1) Implement the thread in C++ and bridge it to python with SIP the same > way Qt is bridged to python. I want to use python modules in the thread so I don't think that this would work. > 2) Use processes instead of threads. Then you can run several instances of > the python interpreter at the same time. This seems too complicated for this simple task. > Arnold _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
