我有一个想要向其添加基本状态窗口的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线程有什么不...相关推荐

  1. python 多线程和协程结合_一文讲透 “进程、线程、协程”

    本文从操作系统原理出发结合代码实践讲解了以下内容: 什么是进程,线程和协程? 它们之间的关系是什么? 为什么说Python中的多线程是伪多线程? 不同的应用场景该如何选择技术方案? ... 什么是进程 ...

  2. python多线程操作字典_在Python中使用带有线程的全局字典

    Dirk.. 52 假设CPython:是的,不是.从多个并发读/写请求不会破坏字典的意义上来说,从共享字典中获取/存储值实际上是安全的.这是由于实现维护的全局解释器锁("GIL" ...

  3. python多线程多个cpu_为什么python的多线程不能利用多核CPU?

    为什么python的多线程不能利用多核CPU,但是咱们在写代码的时候,多线程的确是在并发,而且还比单线程快. 一.python的多线程不能利用多核CPU? 原因: 因为GIL,python只有一个GI ...

  4. python 多线程卡死跳出_解决python线程卡死的问题

    1. top命令和日志方式判定卡死的位置 python代码忽然卡死,日志不输出,通过如下方式可以确定线程确实已经死掉了: # top 命令 top命令可以看到机器上所有线程的执行情况,%CPU和%ME ...

  5. python多线程输出_萌新python多线程

    刚开始学习多线程的时候闹了个笑话在使用python线程打印东西的时候发现自己定的的线程数据没有打印,找半天都没有找到问题,也没好意思问,自己憋了半天才发现问题! 代码如下: import thread ...

  6. python多线程下载器_用 python 实现一个多线程网页下载器

    学习之 #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib, httplib import thread import time fr ...

  7. python多线程tcp客户端_基于Python多线程的TCP客户端/服务端应用示例

    每个连接都必须创建新线程(或进程)来处理,否则,单线程在处理连接的过程中,无法接受其他客户端的连接. 服务端:server.py # -*- coding:utf-8 -*- import sys i ...

  8. python多线程的几种方法

    python多线程编程 Python多线程编程中常用方法: 1.join()方法:如果一个线程或者在函数执行的过程中调用另一个线程,并且希望待其完成操作后才能执行,那么在调用线程的时就可以使用被调线程 ...

  9. python多线程输出_Python多线程

    多线程基础概念 并行与并发 并行:同时处理多个任务,必须在多核环境下 一段时间内同时处理多个任务,单核也可以并发 并发手段 线程:内核空间的调度 进程:内核空间的调度 协程:用户空间的调度 线程可以允 ...

最新文章

  1. AI视觉大牛朱松纯担任北大AI研究院院长,提出通过构建大任务平台走向通用AI...
  2. 微软MVP社区活动(西宁站)
  3. 阿里P8架构师谈:主流RPC框架详解,以及与SOA、SOAP、REST的区别
  4. php7 变量,PHP7变量结构分析
  5. 干货丨总结5类面试官特点和应对方法
  6. Java笔记-SSLSocket双向认证实例
  7. 《云计算:原理与范式》一3.10 企业对企业集成服务
  8. Bailian4018 子串【字符串】
  9. sofia-sip-ua >= 1.12.12… configure: error: no usable sofia-sip; please install sofia-sip-ua devel pa
  10. CSDN博客下载器v1.0发布(Windows版本)
  11. 三款免费好用的Gif录屏神器
  12. 央行数字货币:第三方支付产业新变量
  13. o2o是什么营销模式c语言求幂函数,O2O营销模式的特点是什么,o2o模式的运营方式...
  14. 【英语四六级-必背单词】高中英语单词 (H)-MP3试听与下载
  15. 西南交大计算机应用基础 第2次作业 主观题目,西南交大网络教育2011-2012学年计算机应用基础第四次作业(主观题)...
  16. 麒麟服务器系统编译raid驱动
  17. signature=5a537e48de3abe15561f136edabc54dc,Visual Signatures in Video Visualization
  18. 腾讯开源Spring Cloud Tencent 是什么
  19. Hyper-V虚拟机安装XP系统
  20. laravel5.6 使用mail发送附件邮件

热门文章

  1. 高性能动态编译库Natasha发布1.0版本!
  2. 简化 Pod 故障诊断:kubectl-debug 介绍
  3. 在C#中使用Json.Net进行序列化和反序列化及定制化
  4. 西安活动 | 2019年1月13号 拥抱开源, 又见.NET 线下交流活动报名进行中
  5. Ocelot——初识基于.Net Core的API网关
  6. 一个还算简单的微信消息SDK(基于.Net Standard 2.0)
  7. Visual Studio 2017将于3月7日发布
  8. 缓存在大型网站架构中的应用
  9. ZKWeb网站框架的动态编译的实现原理
  10. 搭建分布式 ASP.NET Core Web