user2514225
user2514225

Reputation:

PyQt app doesn't exit when i close the window

Whenever i execute the code and close the window, it closes,but the python console in the IDE doesn't return the exit code,when i try to run it again i get a warning dialog that says something like

No python console is selected to run main.py

So i have to close the IDE python console, and open a new one, then run the program in the new python console

I'm using spyder IDE 64 bits on windows

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = QMainWindow()       
    win.show()
    sys.exit(app.exec_())

Upvotes: 1

Views: 4397

Answers (1)

mdurant
mdurant

Reputation: 28673

If you execute the code in a running (i)python console, you do not need to start a qapplication in the usual way, the two lines

win = QMainWindow()       
win.show()

will be enough to get you running. This is because the console already has a (threaded) qapplication prepared for you.

The error message can be caused when no console has focus (i.e., perhaps the one you were using quit because of sys.exit(), or you clicked away etc). You need to simply click in an (i)python console to get it to be 'selected', and then the run button should work again.

Upvotes: 6

Related Questions