1

我是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() 将向进度条发出信号以更新其值。

谢谢

4

1 回答 1

2

您需要创建一个在所有线程之间共享的计数器对象。每次线程完成下载时,它都会使用QMutex锁定并增加计数并解锁,然后您可以发送信号并修改进度条(尽管您可能希望确保它不会经常更新)

于 2011-05-20T13:53:06.873 回答