在后台运行程序后,当我执行时,我得到(在标题栏中没有响应)。
如果我试图关闭它会显示这个
关闭后,它会开始提供内核查杀消息,如右侧屏幕所示。
我正在运行“Anaconda-2.3.0-Windows-x86_64”。请告诉我该怎么做。
答案 0 :(得分:1)
Spyder做了一些奇怪的事情,它不会在新进程中运行代码,因此它可以在上次运行代码时保留一些东西。坦率地说,我会发现这非常烦人,所以我不会使用Spyder(这意味着这个答案可能并不完美,其他人应该发布另一个更好的解决方案!)
您需要做的是检查QApplication
是否已经存在,并且只有在创建时才会创建。
if QApplication.instance():
app = QApplication.instance()
else:
app = QApplication(sys.argv)
...
app.exec_()
我认为您应始终致电app.exec_()
,无论之前是否已创建QApplication
。
就个人而言,我从标准的Windows命令行启动python文件,以便我始终知道它正在重新开始。
答案 1 :(得分:1)
您只需要在代码末尾添加: app.exec _()
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.setGeometry(50,50,500,300)
window.setWindowTitle("PyQt Ecuador")
window.show()
app.exec_()