ProgressBar中的qml进度是跳转

时间:2015-11-12 08:39:46

标签: qml qtquick2

我将ProgressBar用作QtQuick.Controls 1.4 在qml中:

ProgressBar {
    id: myProgressBar
    Layout.fillWidth: true
    minimumValue: 0
    maximumValue: 100
    visible:true
}


还有一个c ++类:

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中,有一个QThread来更新“进度” 然后,在qml中,我添加一个事件处理程序:

MyProgress {
    id: progress
    onProgressChanged:{
        myProgressBar.value = progress
    }
}


它有效。但是,ProgressBar的进展看起来像是跳跃,跳跃,跳跃而不是线性增加 我认为因为进度太快而导致GUI线程没有时间刷新 有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用class MyModulePaymentCancelModuleFrontController extends ModuleFrontController{ public function initContent(){ $cart = $this->context->cart; } } 更新进度。

像这样更新你的代码:

NumberAnimation