python多线程 不在main_从python线程(不是main)启动pyQt线程有什么不...
我有一个想要向其添加基本状态窗口的python控制台脚本,因此在不了解pyqt的情况下,我添加了一个窗口.如果我从主线程启动pyqt,它将阻塞其他所有内容,因此我从另一个线程启动了它.这样的运行情况已经好几个月了,但我只是注意到了一个警告(不确定我以前怎么错过它):
警告:QApplication不是在main()线程中创建的.我想知道这可能会导致什么问题.
这是我使用的代码的精简版,仅更新窗口标题栏:
from PyQt4 import QtGui, QtCore
import threading
import sys
from time import sleep
class MainWidget(QtGui.QWidget):
def __init__(self, parent=None):
super(MainWidget, self).__init__(parent)
self.setWindowTitle(statusLine)
self.timer = QtCore.QBasicTimer()
self.timer.start(500, self)
def updateWindow(self):
self.setWindowTitle(statusLine)
def timerEvent(self, event):
if event.timerId() == self.timer.timerId():
self.updateWindow()
else:
super(MainWidget, self).timerEvent(event)
def startWindow():
app = QtGui.QApplication(sys.argv)
mw = MainWidget()
mw.show()
app.exec_()
if __name__ == '__main__':
global statusLine
statusLine = 'foo'
threadWindow = threading.Thread(target=startWindow)
threadWindow.start()
sleep(2) # process lots of data
statusLine = 'bar'
# keep doing stuff and updating statusLine
编辑:看起来我没有收到此简化示例的警告;相反,我似乎只有在启动pyQt之前启动了多个其他python线程时才得到它.但是问题仍然存在:这样做有什么问题?
python多线程 不在main_从python线程(不是main)启动pyQt线程有什么不...相关推荐
- python 多线程和协程结合_一文讲透 “进程、线程、协程”
本文从操作系统原理出发结合代码实践讲解了以下内容: 什么是进程,线程和协程? 它们之间的关系是什么? 为什么说Python中的多线程是伪多线程? 不同的应用场景该如何选择技术方案? ... 什么是进程 ...
- python多线程操作字典_在Python中使用带有线程的全局字典
Dirk.. 52 假设CPython:是的,不是.从多个并发读/写请求不会破坏字典的意义上来说,从共享字典中获取/存储值实际上是安全的.这是由于实现维护的全局解释器锁("GIL" ...
- python多线程多个cpu_为什么python的多线程不能利用多核CPU?
为什么python的多线程不能利用多核CPU,但是咱们在写代码的时候,多线程的确是在并发,而且还比单线程快. 一.python的多线程不能利用多核CPU? 原因: 因为GIL,python只有一个GI ...
- python 多线程卡死跳出_解决python线程卡死的问题
1. top命令和日志方式判定卡死的位置 python代码忽然卡死,日志不输出,通过如下方式可以确定线程确实已经死掉了: # top 命令 top命令可以看到机器上所有线程的执行情况,%CPU和%ME ...
- python多线程输出_萌新python多线程
刚开始学习多线程的时候闹了个笑话在使用python线程打印东西的时候发现自己定的的线程数据没有打印,找半天都没有找到问题,也没好意思问,自己憋了半天才发现问题! 代码如下: import thread ...
- python多线程下载器_用 python 实现一个多线程网页下载器
学习之 #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib, httplib import thread import time fr ...
- python多线程tcp客户端_基于Python多线程的TCP客户端/服务端应用示例
每个连接都必须创建新线程(或进程)来处理,否则,单线程在处理连接的过程中,无法接受其他客户端的连接. 服务端:server.py # -*- coding:utf-8 -*- import sys i ...
- python多线程的几种方法
python多线程编程 Python多线程编程中常用方法: 1.join()方法:如果一个线程或者在函数执行的过程中调用另一个线程,并且希望待其完成操作后才能执行,那么在调用线程的时就可以使用被调线程 ...
- python多线程输出_Python多线程
多线程基础概念 并行与并发 并行:同时处理多个任务,必须在多核环境下 一段时间内同时处理多个任务,单核也可以并发 并发手段 线程:内核空间的调度 进程:内核空间的调度 协程:用户空间的调度 线程可以允 ...
最新文章
- AI视觉大牛朱松纯担任北大AI研究院院长,提出通过构建大任务平台走向通用AI...
- 微软MVP社区活动(西宁站)
- 阿里P8架构师谈:主流RPC框架详解,以及与SOA、SOAP、REST的区别
- php7 变量,PHP7变量结构分析
- 干货丨总结5类面试官特点和应对方法
- Java笔记-SSLSocket双向认证实例
- 《云计算:原理与范式》一3.10 企业对企业集成服务
- Bailian4018 子串【字符串】
- sofia-sip-ua >= 1.12.12… configure: error: no usable sofia-sip; please install sofia-sip-ua devel pa
- CSDN博客下载器v1.0发布(Windows版本)
- 三款免费好用的Gif录屏神器
- 央行数字货币:第三方支付产业新变量
- o2o是什么营销模式c语言求幂函数,O2O营销模式的特点是什么,o2o模式的运营方式...
- 【英语四六级-必背单词】高中英语单词 (H)-MP3试听与下载
- 西南交大计算机应用基础 第2次作业 主观题目,西南交大网络教育2011-2012学年计算机应用基础第四次作业(主观题)...
- 麒麟服务器系统编译raid驱动
- signature=5a537e48de3abe15561f136edabc54dc,Visual Signatures in Video Visualization
- 腾讯开源Spring Cloud Tencent 是什么
- Hyper-V虚拟机安装XP系统
- laravel5.6 使用mail发送附件邮件
热门文章
- 高性能动态编译库Natasha发布1.0版本!
- 简化 Pod 故障诊断:kubectl-debug 介绍
- 在C#中使用Json.Net进行序列化和反序列化及定制化
- 西安活动 | 2019年1月13号 拥抱开源, 又见.NET 线下交流活动报名进行中
- Ocelot——初识基于.Net Core的API网关
- 一个还算简单的微信消息SDK(基于.Net Standard 2.0)
- Visual Studio 2017将于3月7日发布
- 缓存在大型网站架构中的应用
- ZKWeb网站框架的动态编译的实现原理
- 搭建分布式 ASP.NET Core Web