当我关闭窗口时,PyQt应用程序不会退出

Ber*_*har 1 python pyqt pyside spyder

每当我执行代码并关闭窗口时,它会关闭,但IDE中的python控制台不会返回退出代码,当我再次尝试运行它时,我会收到一个类似于

No python console is selected to run main.py
Run Code Online (Sandbox Code Playgroud)

所以我必须关闭IDE python控制台,然后打开一个新的控制台,然后在新的python控制台中运行该程序

我在Windows上使用spyder IDE 64位

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_())
Run Code Online (Sandbox Code Playgroud)

mdu*_*ant 5

如果你在running(i)python控制台中执行代码,你不需要以通常的方式启动qapplication,这两行

win = QMainWindow()       
win.show()
Run Code Online (Sandbox Code Playgroud)

足以让你跑步.这是因为控制台已经为您准备了(线程)qapplication.

没有控制台具有焦点时可能会导致错误消息(也就是说,可能是因为您正在使用退出sys.exit(),或者您点击了等等).您只需在(i)python控制台中单击以使其"选中",然后运行按钮应该再次工作.