On Mon, 20 Sep 2004 20:52:01, Trost Johnson wrote: > Suppose the minimal program: > > def foo(): > app=QApplication(sys.argv) > button=QPushButton("Hello World", None) > app.setMainWidget(button) > button.show() > app.exec_loop() > > And I say > > >>> thread.start_new_thread (foo, ()) > > Then the python console freezes.... I'm not completely surprised by this. :-) > Is it not possible o thread up multiple QApplications? I don't think you can create multiple QApplications in this way. Not within the same application, anyway. > How is this achieved? I think that you really need QApplication's event loop to be running in the main Python thread. This prevents you from running it in a separate thread, but you can still run other tasks in separate Python threads. Just be careful when communicating back to the QApplication from these other threads. Note that there is a separate problem with running the event loop from within an interactive Python session: the interpreter doesn't regain control until after the QApplication finishes. I presume that you are trying to run the event loop in a separate thread to solve this problem. I found that it is quite useful to consider approaching the problem from another angle and implement parts of an interactive prompt within a Qt-based application. Although the behaviour of the interpreter isn't quite what you'd expect from a normal interactive Python session, you can get quite far with this approach. Take a look at qpython from the following page: http://www.boddie.org.uk/david/Projects/Python/KDE/ The code isn't very nice to look at, and I think that there's a race condition involving the readline module, but it lets you use Qt-based modules from within an interactive Python session. Good luck! David
___________________________________________________________ $0 Web Hosting with up to 120MB web space, 1000 MB Transfer 10 Personalized POP and Web E-mail Accounts, and much more. Signup at www.doteasy.com _______________________________________________ PyKDE mailing list [EMAIL PROTECTED] http://mats.imk.fraunhofer.de/mailman/listinfo/pykde