Ano*_*ous 7 python user-interface qt4 pyqt
我意识到这个问题之前已经问了好几次,虽然它们似乎都不适用于我的情况.我已经安装了PyQt,我只是试图打开一个窗口:
import sys
from PyQt4 import QtGui as qt
segmentation = qt.QApplication(sys.argv)
main = qt.QWidget()
main.show()
Run Code Online (Sandbox Code Playgroud)
我在这里看到的所有其他问题通常都是由窗口超出范围的错误引起的,因为窗口的show方法是从函数内部调用的,或类似的东西.
我的代码根本不使用任何功能,所以这不是问题.这应该按原样工作,不是吗?我正在关注本教程:
https://www.youtube.com/watch?v=JBME1ZyHiP8
在时间8:58,教练几乎完全按照我所写的内容,他们的窗口出现并且保持良好状态.矿井显示几分之一秒然后关闭.
从视频中截取代码块的屏幕截图,与此处提供的代码块进行比较:
Jam*_*rtz 12
没有看到你的所有代码,我假设你错过了这sys.exit()一点.
对于您的特定代码sys.exit(segmentation.exec_()),您将需要.
segmentation = qt.QApplication(sys.argv)
main = qt.QWidget()
main.show()
sys.exit(segmentation.exec_())
Run Code Online (Sandbox Code Playgroud)
关于这里发生了什么的一些细节.
segmentation = qt.QApplication(sys.argv) 创建实际的应用程序.
main = qt.QWidget()并main.show()创建Widget然后显示.
执行python脚本时,这完全符合您的要求:
它的sys.exit()作用是干净地关闭python脚本. segmentation.exec_()启动QT的事件驱动后台处理.一旦segementation.exec_()完成(用户关闭应用程序,您的软件关闭应用程序,或遇到错误),它将返回一个值,然后将该值传递给sys.exit()函数,该函数将终止python进程.