如何在 QT Creator 中创建百分比进度条?我使用pafy库。在下载所需文件时,库将总文件大小和已成功上传到函数的大小发送到函数,该函数执行计算并发送对百分比变量的引用,我应该在“qml”中接收此值" 文件以便我将该值放入进度条中,但这不起作用,我不知道原因。
python 和 pyside2 使用 Pafy 库
这是开始下载和回调进度条的Python函数
class Worker(MainWindow, QObject):
finished = Signal()
def download(self, video, stream, path):
video_streams = pafy.new(video).streams
video_streams[stream].download(filepath=path, quiet=True, callback=self.progressbar)
self.finished.emit()
def progressbar(self, total, recvd, ratio, rate, eta):
"""
progress Bar For Videos Download
"""
value = int(recvd * 100 / total)
self.progressBar.emit(value)
这是打开连接到qml文件的代码
engine.rootContext().setContextProperty("backend", main)
这是“qml文件”中接收值形式python文件的代码
Connections{
target: backend
function onThumb(url){
videoImage = url
}
function onVideoStreams(itemsss){
items.push(itemsss)
comboBox.model = items
}
function onProgressBar(prec){
progressbar_value = prec
console.log("In JavaScript",prec)
CircularProgressbar.value = progressbar_value
}
}
这是进度条和属性的代码它自己的“qml文件”
property int progressbar_value: 0
CircularProgressbar{
id: circularProgressbar
width: 250
height: 250
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 20
value: progressbar_value
}