在Qt中创建旋转进度条

Sha*_*adi 4 qt qml

在Qt中创建旋转进度条,我想显示加载时出现的进度条.请查找图像在此输入图像描述

我的代码是这样的

    QProgressBar *pgbar = new QProgressBar();
    pgbar->resize(500,25);
    pgbar->setOrientation(Qt::Horizontal);
    pgbar->setRange(0,99);
    pgbar->setValue(10);
    pgbar->show();
    installOnDevice(destinationSavePath);
    pgbar->hide();
Run Code Online (Sandbox Code Playgroud)

installOnDevice(destinationSavePath);需要时间来处理.目前我正在展示Processbar,我不想展示processbar.我不能替换一些显示loading image(旋转)或类似的进展

seb*_*sgo 6

看看Twitter Mobile示例应用程序.在demos/declarative/twitter/qml/twitter/TwitterCore/Loading.qml文件中,在QML中有一个你想要实现的确切实现:

import QtQuick 1.0

Image {
    id: loading
    source: "images/loading.png"
    NumberAnimation on rotation {
         from: 0
         to: 360
         running: loading.visible == true
         loops: Animation.Infinite
         duration: 900
     }
}
Run Code Online (Sandbox Code Playgroud)

更新1(反映新发布的代码):

在你的基于Qt Widgets的应用程序中使用QML只是为了一个旋转负载指示器对我来说似乎有些过分.我会QMovie结合使用a QLabel来显示包含微调器的动画GIF图像:

QMovie* spinnerMovie = new QMovie(":/spinner.gif");
QLabel *spinnerLabel = new QLabel(this);
spinnerLabel->setMovie(spinnerMovie);
spinnerMovie->start();
Run Code Online (Sandbox Code Playgroud)

您还应该查看Qt资源系统的文档,以了解如何将图像与应用程序捆绑在一起以及如何加载它们.