【问题标题】:PyQt app doesn't exit when i close the window当我关闭窗口时,PyQt 应用程序不会退出
【发布时间】:2014-08-22 04:24:22
【问题描述】:

每当我执行代码并关闭窗口时,它就会关闭,但是 IDE 中的 python 控制台不返回退出代码,当我尝试再次运行它时,我会收到一个警告对话框,上面写着类似

No python console is selected to run main.py

所以我必须关闭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_())

【问题讨论】:

  • 嗯?这段代码对我来说很好用。 Linux 上的 Ubuntu 12、Spyder 2.1.9、Python 2.7.3、Qt 4.8.1、PyQt4 (API v2) 4.9.1。

标签: python pyqt pyside spyder


【解决方案1】:

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

win = QMainWindow()       
win.show()

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

当没有控制台有焦点时可能会导致错误消息(即,可能是因为sys.exit() 而使用的那个退出,或者您点击离开等)。您只需在 (i)python 控制台中单击以使其被“选中”,然后运行按钮应该再次起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多