A null program - what is it doing?

r0g aioe.org at technicalbloke.com
Tue Jan 5 04:58:56 EST 2010


Gib Bogle wrote:
> No doubt a dumb question from a noob:
> 
> The following program (a cut down version of some test code) uses no
> CPU, and does not terminate:
> 
> import sys
> from PyQt4.QtCore import *
> 
> if __name__=="__main__":
>     app = QCoreApplication(sys.argv)
>     sys.exit(app.exec_())
> 
> What is the program doing?  What is the correct way to terminate the
> execution?
> 
> Thanks in advance for educating me.



I've never used QT but other graphical toolkits I have used all start
their own "main loop" which is a loop that cycles round receiving,
queuing and dispatching "events". You probably need to call the
QCoreApplication's quit method to break out of this e.g.

app.exit() or something similar, have a look at some complete PyQt4
examples or google for PyQt4 mainloop.


Roger.



More information about the Python-list mailing list