这是一个跟进 why will the application show after sys.exit command?
我正在学习本教程:
http://zetcode.com/tutorials/pyqt4/firstprograms/
我稍微修改了代码以测试事物
import sys
from PyQt4 import QtGui
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
w.resize(250,150)
w.move(300,300)
w.setWindowTitle("Title")
w.show()
sys.exit(app.exec_())
我很困惑为什么没有app
和w
的引用我希望某种迹象表明w
是一个孩子或某些app
1}}。
我在Spyder和一个IPython解释器中运行它。
答案 0 :(得分:2)
对于使用Qt的任何GUI应用程序,无论应用程序在任何给定时间是否具有0,1,2或更多窗口,都只有一个QApplication对象。所有窗口都由应用程序自动管理。
你必须对它进行初始化,然后把它保持到exec
。
您必须在任何其他GUI对象之前创建应用程序(因为它们由它管理)。