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对象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为美国派拉蒙影业公司出品的科幻喜剧,这家公司总能做出叫好又叫座的作品。缩小的人生也可如歌,在阳光之下努力寻找人生意...
    明御阅读 327评论 0 1
  • 我想要快乐 但我身边的人事物不允许我快乐.
    vcnn阅读 95评论 0 0
  • 目录 |《缺失的爱》目录 上一章 | 无尽噩梦 3 文 / 季风无忌 几个月后我生下了我的女儿,我多么想过简单的生...
    季风无忌阅读 724评论 3 5
  • 智能手机时代的来临,让人类生活产生巨大改变。以前所未有的规模记录下各种照片视频,可以说是照相技术发明以来,最大规模...
    大流浪阅读 3,467评论 2 16