PyQt5运行GUI内核崩溃且异常缓慢显示结果

PyQt5运行GUI内核崩溃且异常缓慢显示结果

实验室一个项目需要一个小工具去使用外接摄像头拍照,当我使用python+opencv已经搞定了摄像头部分的时候,我想何不简单使用PyQt写一个GUI界面,这样可以方便使用,也方便以后项目的一些拓展任务。
说做就做,使用了如下的示例代码,显示了第一个简单的GUI的demo。

import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()
    sys.exit(app.exec_())

而第一次运行这个代码的时候,异常缓慢,经过了超过1分钟才能显示出如下窗口:

demo运行结果

但是第二次运行该代码就会出错,内核崩溃,且没有报错,问题如下图:

第二次运行出错

内核崩溃

解决方案:加上如下语句
app = 0
更新后的代码如下:

import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
    app = 0#解决方案
    app = QApplication(sys.argv)
    w = QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()
    sys.exit(app.exec_())

结果:加上“app = 0”之后代码执行速度正常,且不会崩溃。
个人分析:认为是退出之后上次创建的app对象有残留在内存中,所以导致出错,所以每次重新创建前先重置app对象。

你可能感兴趣的:(PyQt5运行GUI内核崩溃且异常缓慢显示结果)