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.
Likewise, I haven't used QT, but have used others.
Gib:
It looks like app.exec() is the mainloop for QT, and it won't terminate
till it gets a terminate event. That might be the user clicking the X
in the corner, or it might be a special keystroke like Alt-F4. Or it
might be some other event for which your event handler makes an explicit
call to terminate. Once one of these things happens, the app.exec()
will return, and the sys.exit() will execute.
DaveA
--
http://mail.python.org/mailman/listinfo/python-list