日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python多线程 不在main_从python线程(不是main)启动pyQt线程有什么不...

發布時間:2023/12/4 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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线程有什么不...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。