Webサーバーからファイルをダウンロードして保存し、QProgressBarにダウンロードの進行状況を示すコードを作成しようとしています。 これを通常のPythonで行う方法はありますが、簡単です。問題は、progressBarのリフレッシュをロックすることです。解決策は、PyQTのQNetworkManagerクラスを使用することです。私はそれでちょうど良いものをダウンロードすることができます、私はちょうどprogressBarの進捗状況を表示するためのセットアップを取得することはできません。 Here's例:この場合pyQT QNetworkManagerとProgressBars
class Form(QDialog):
def __init__(self,parent=None):
super(Form,self).__init__(parent)
self.progressBar = QProgressBar()
self.reply = None
layout = QHBoxLayout()
layout.addWidget(self.progressBar)
self.setLayout(layout)
self.manager = QNetworkAccessManager(self)
self.connect(self.manager,SIGNAL("finished(QNetworkReply*)"),self.replyFinished)
self.Down()
def Down(self):
address = QUrl("http://stackoverflow.com") #URL from the remote file.
self.manager.get(QNetworkRequest(address))
def replyFinished(self, reply):
self.connect(reply,SIGNAL("downloadProgress(int,int)"),self.progressBar, SLOT("setValue(int)"))
self.reply = reply
self.progressBar.setMaximum(reply.size())
alltext = self.reply.readAll()
#print alltext
#print alltext
def updateBar(self, read,total):
print "read", read
print "total",total
#self.progressBar.setMinimum(0)
#self.progressBar.setMask(total)
#self.progressBar.setValue(read)
は、私の方法 "updateBarは" ...任意のアイデアを呼ばれることはありませんか?