Jakey_Ch 2021-09-01 13:00 采纳率: 0%
浏览 30
已结题

QT(pyqt5) 画面快速切换后画面卡死

用的是python2➕pyqt5
使用的图片呈现方式是用QLabel 然后再把图片转为QPixmap在QLabel上显示出来

现在碰到的问题是:
快速切换图片,比如每隔15ms来回切换两张图片;运行一段时间(毫无规律)后会出现卡在这两个界面其中一个,然后再设置成其他图片也不起作用了……但是程序没有报错 能正常执行 就是图片没有变化……

有哪位大佬有碰到过类似问题麽……怎么解决?万分感谢~

  1. ```

!/usr/bin/python

-- coding: utf-8 --

import sys
import time
import threading

from PyQt5.QtWidgets import (QWidget,
QLabel,
QGridLayout,
QPushButton,
QApplication)
from PyQt5.QtCore import Qt

class Test(QWidget):
def init(self, parent=None):
super(Test, self).init(parent)

    self.is_fullscreen = False

    self.switch_status = False

    self.initUI()

def initUI(self):
    self.lbl_image = QLabel(self)

    grid = QGridLayout()
    grid.addWidget(self.lbl_image, 0, 0)
    grid.setSpacing(0)
    grid.setContentsMargins(0, 0, 0, 0)

    self.setLayout(grid)
    self.setGeometry(300, 300, 350, 300)
    # self.lbl_image.show()
    self.setWindowTitle("DEMO001")
    self.show()

def switch_iamge(self):
    if self.switch_status:
        print("111111111111111")
        return

    self.switch_status = True
    for i in range(30):
        for j in range(2):
            time.sleep(0.016)
            if j % 2 == 0:
                self.lbl_image.setStyleSheet("background-color:black")
            elif j % 2 == 1:
                self.lbl_image.setStyleSheet("background-color:white")
    self.switch_status = False

def keyPressEvent(self, event):
    if event.key() == Qt.Key_F11:
        if self.is_fullscreen:
            self.showNormal()
            self.is_fullscreen = False
        else:
            self.showFullScreen()
            self.is_fullscreen = True
    elif event.key() == Qt.Key_Q:
        temp_thread = threading.Thread(target=self.switch_iamge)
        temp_thread.setDaemon(True)
        temp_thread.start()

if name == 'main':
app = QApplication(sys.argv)
ui = Test()
ui.show()
sys.exit(app.exec_())



```

  • 写回答

2条回答 默认 最新

  • CSDN专家-黄老师 2021-09-01 15:14
    关注

    先确认是程序执行时间过长导致奔溃卡死还是效果无法显示,如果是执行时间过长,可以改用多线程处理,如果是效果无法显示,看看控件图片设置对不对

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月2日
  • 修改了问题 9月1日
  • 创建了问题 9月1日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看