【多线程】python界面阻塞,白屏,not responding解决的简单例子

 1 # -*- coding: utf-8 -*- 2  3 import sys, time 4 from PyQt4.QtCore import * 5 from PyQt4.QtGui import * 6 x = 0 7 class Window(QWidget): 8     def __init__(self, parent = None): 9         QWidget.__init__(self, parent)10         self.thread = Worker()11 12         # 提示信息13         self.xLable = QLabel("Number of xTimes:")14         # 下拉框15         self.spinBox = QSpinBox()16         self.spinBox.setMaximum(100)17         self.spinBox.setValue(10)18         self.startButton = QPushButton(self.tr("&Start"))19         # 布局20         layout = QGridLayout()21         layout.addWidget(self.xLable, 0, 0)22         layout.addWidget(self.spinBox, 0, 1)23         layout.addWidget(self.startButton, 0, 2)24         self.setLayout(layout)25         # 标题26         self.setWindowTitle(self.tr("Threading"))27 28         # 信号29         self.connect(self.thread, SIGNAL("finished()"), self.finishSend)30         self.connect(self.thread, SIGNAL("update(int)"), self.updateGUIStatus)31         self.connect(self.startButton, SIGNAL("clicked()"), self.sendAdvMail)32 33     def sendAdvMail(self):34         self.spinBox.setReadOnly(True)35         self.startButton.setEnabled(False)36         #传递值到线程中37         self.thread.render(self.spinBox.value())38 39     def updateGUIStatus(self, leftTime):40         self.xLable.setText(str(leftTime))41 42     def finishSend(self):43         self.spinBox.setReadOnly(False)44         self.startButton.setEnabled(True)45 46 class Worker(QThread):47     def __init__(self, parent = None):48         QThread.__init__(self, parent)49         self.exiting = False50         self.xTimes = 051 52     def __del__(self):53         self.exiting = True54         self.wait()55 56     def render(self, xTimes):57         self.xTimes = xTimes58         self.start()59 60     def run(self):61         # Note: This is never called directly. It is called by Qt once the62         # thread environment has been set up.63         n = self.xTimes64         while not self.exiting and n > 0:65             time.sleep(1)66             #该信号引起界面更新67             n -= 168             self.emit(SIGNAL("update(int)"), n)69 70 71 if __name__ == "__main__":72     app = QApplication(sys.argv)73     window = Window()74     window.show()75     sys.exit(app.exec_())

编辑器加载中...

时间: 2024-09-21 14:44:20

【多线程】python界面阻塞,白屏,not responding解决的简单例子的相关文章

win7系统安装IE10出现白屏问题的解决方法

  IE浏览器一直是我们常用的一款浏览器,在我们日常办公中出现率很高,所以IE浏览器也在不断的升级更新,想要营造出更好的体验效果.但是事与愿违,一些用户在升级到IE最新版本IE10之后出现了很多的症状,白屏.无法打开页面等等问题,让人很是头疼,在无奈之下只能忍痛割爱,下载掉IE10,下面小编就来教大家如何在安全的情况下卸载掉IE10浏览器. win7系统安装IE10出现白屏问题的解决方法 1.占击"开始",在对话框中找到并点击"控制面板" 2.在控制面板中找到&qu

在首页中iframe引入一个加载中的页面,在ie浏览器中该部分出现几秒钟白屏,怎么解决???

问题描述 在首页中iframe引入一个加载中的页面,在ie浏览器中该部分出现几秒钟白屏,怎么解决??? 在首页中iframe引入一个加载中的页面,在ie浏览器中该部分出现几秒钟白屏,怎么解决??? 解决方案 加载的那个页面初始化数据也是需要时间的,你可以在加载的时候有一个对应的提示[正在加载]或者加一个等待的gif图片.

Android中Splash应用启动白屏问题的解决方法

不久前项目开始了一段时间了,刚开始怀疑是Android Studio中新加入的Instant Run功能引起的,于是重新打release包后再次运行发现还是有这样的问题,突然想到了上次集成进来了云信,于是猜想可能的确是加入云信后Application里面初始化操作再加上HomeActivity主界面的一些初始化耗时操作引起的,于是我们想办法消灭白屏,有已下两种方案可参看: 1.在启动Activity的界面主题样式上加上这样的item <style name="Theme.Start&quo

电脑开机显示器白屏怎么办及解决白屏的方法

根据我们经验来分析  开机显示屏白屏的故障维修思路 1.首先拆开LCD液晶 显示屏的外壳,然后检查屏线接口是否松动或未连接好.经检查屏线连接正常. 2.接着打开笔记本电脑的电源开关,然后用万用表测量屏线接口的供电电压是否正常.如果供电电压正常,转到第5步;如果不正常,接着检查屏线输出端附近的保险电阻或保险电感是否开路或损坏.如果损坏,则更换损坏的元器件即可. 3.如果屏线输出端附近的保险电阻或保险电感正常,接着检查为LCD液晶显示屏供电的DC-DC 电压转换电路的输出端电压是否正常.如果输出电压

WordPress白屏问题的解决方法

解决白屏 要解决白屏之前首先要知道它是怎么产生的,回想一下,一般是做过以下几项操作之后产生了白屏: 1.修改了主题或者插件的代码. 修改了wordpress主题或者插件的代码是最常见的情况,你要做的就是登录 FTP 删除掉你修改的主题或者插件(主题目录:wp-content/themes:插件目录:wp-content/plugins),再登录后台,重新安装主题或者插件. 2.修改了 WordPress 核心文件. 如果你修改了 WordPress 的核心文件之后产生了白屏,请到 WordPre

桌面右侧白屏的解决

  故障现象:桌面左边桌面背景右边白屏 解决办法: 1. 右键点击桌面空白处→[属性]: 2. 选择[桌面]→[自定义桌面]: 3. 选择[Web]项→不勾选[当前主页]和[选定桌面项目]→点击[确定]: 4. 点击[确定]后配置生效:

App Store出现白屏问题解决办法分享

给各位iPhone手机的使用者们来详细的解析分享一下App Store出现白屏问题的解决方法. 方法分享:     1."设置"→"无线局域网"→点击已连接的Wi-Fi→将DNS修改为8.8.8.8. 2.把时间设置到早些时候(20150124或更早) 3.使用VPN应用.     上面的方案只需要执行一个就可以了,其中修改DNS是最简单方便有效地. 好了,以上的信息就是小编给各位iPhone这一款手机的使用者们带来的详细的App Store出现白屏问题的解决方法解

Android Splash界面白屏、黑屏问题的解决方法_Android

前言 我相信很多Android开发同学都遇到过这样的需求:  1.实现一个Splash界面,界面上有应用相关的背景图片和一个开始按钮.  2.点击按钮之后进入主页,以后用户再打开应用就不显示这个Splash界面了.  也相信很多同学都遇到了这样的困惑:  •第二次进入应用,尽管你在Splash界面已经直接跳转到首页了,但是还是有个白屏或者黑屏或者带ActionBar的白屏闪现一下.  如果你也遇到这个问题,那就继续阅读这篇文章,我带大家去分析和解决这个问题. 解决方案 这里我们先给出解决方案,然

Android Splash界面白屏、黑屏问题的解决方法

前言 我相信很多Android开发同学都遇到过这样的需求: 1.实现一个Splash界面,界面上有应用相关的背景图片和一个开始按钮.  2.点击按钮之后进入主页,以后用户再打开应用就不显示这个Splash界面了. 也相信很多同学都遇到了这样的困惑:  •第二次进入应用,尽管你在Splash界面已经直接跳转到首页了,但是还是有个白屏或者黑屏或者带ActionBar的白屏闪现一下. 如果你也遇到这个问题,那就继续阅读这篇文章,我带大家去分析和解决这个问题. 解决方案 这里我们先给出解决方案,然后再具