进度栏中的qml进度为跳转
我使用ProgressBar作为QtQuick.Controls 1.4。 在qml中: 还有C++类: 在MyProgress中,有一个QThread来更新“progress”。 然后,在qml中,我添加了一个事件处理程序: 但是,进度条中的进度看起来像跳跃,跳跃,跳跃,而不是线性递增。 我认为这是因为进度太快,GUI线程没有时间刷新。 有人有什么建议吗?使用数字信息更新进度 按如下方式更新代码:进度栏中的qml进度为跳转,qml,qtquick2,Qml,Qtquick2,我使用ProgressBar作为QtQuick.Controls 1.4。 在qml中: 还有C++类: 在MyProgress中,有一个QThread来更新“progress”。 然后,在qml中,我添加了一个事件处理程序: 但是,进度条中的进度看起来像跳跃,跳跃,跳跃,而不是线性递增。 我认为这是因为进度太快,GUI线程没有时间刷新。 有人有什么建议吗?使用数字信息更新进度 按如下方式更新代码: MyProgress { id: progress onProgressC
MyProgress {
id: progress
onProgressChanged:{
progressAnimation.to = progress
progressAnimation.duration =
(progress - myProgressBar.value) * 100 // change 100 to speed up or slow down animation.
progressAnimation.restart()
}
}
NumberAnimation {
id: progressAnimation
target: myProgressBar
property: "value"
}
class MyProgress: public QObject
{
Q_OBJECT
Q_PROPERTY(int progress READ GetProgress NOTIFY progressChanged)
public:
explicit MyProgress(QObject *parent = 0);
public:
int GetProgress();
signals:
void progressChanged(const int progess);
private:
int m_progress;
};
MyProgress {
id: progress
onProgressChanged:{
myProgressBar.value = progress
}
}
MyProgress {
id: progress
onProgressChanged:{
progressAnimation.to = progress
progressAnimation.duration =
(progress - myProgressBar.value) * 100 // change 100 to speed up or slow down animation.
progressAnimation.restart()
}
}
NumberAnimation {
id: progressAnimation
target: myProgressBar
property: "value"
}