我是python的新手,我创建了一个多线程的上传程序,我的问题是我只有一个进度条显示每个线程的进度。 即时通讯使用python pyqt4 QThread。 有没有办法知道每个上传线程的进展情况? 这是代码的一些部分。
class Worker(QThread):
def __init__(self,parent=None):
QThread.__init__(self,parent)
self.counter = 0
self.received = 0
self.size = 0
self.f = None
self.ftp = None
self.filename = ""
def __del__(self):
self.wait()
def handleDownload(self, block):
self.counter += 1
self.received += len(block)
然后,handleDownload()将向进度条发出信号以更新其值。
THX
答案 0 :(得分:2)
您需要创建一个在所有线程之间共享的计数器对象。每次线程完成下载时,它会以QMutex的方式锁定计数并解锁,然后您可以发送信号并修改进度条(尽管您可能希望确保它不会经常更新)