A null program - what is it doing?

Gib Bogle g.bogle at auckland.no.spam.ac.nz
Tue Jan 5 22:16:01 CET 2010


r0g wrote:
> 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.

Thanks.  I've realized that QCoreApplication (or QApplication) manages the event 
loop, and normally when it is executed you are showing a widget of some kind, 
closing which ends the application.  Alt-F4 acts like Ctrl-C to terminate from 
the keyboard.



More information about the Python-list mailing list