qt - 在 Qt 中创建旋转进度条

标签 qt qml

在 Qt 中创建 Spin Progress bar,我想显示进度条,就像加载时出现的进度条一样。请找图片enter image description here

我的代码是这样的

    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();

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

最佳答案

看看 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
     }
}

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

在基于 Qt Widgets 的应用程序中使用 QML 仅用于旋转负载指示器对我来说似乎有点过分。我会使用 QMovie 连同 QLabel 显示包含微调器的动画 GIF 图像:
QMovie* spinnerMovie = new QMovie(":/spinner.gif");
QLabel *spinnerLabel = new QLabel(this);
spinnerLabel->setMovie(spinnerMovie);
spinnerMovie->start();

您还应该查看 Qt Resource System 的文档。了解如何将图像与您的应用程序捆绑在一起以及如何加载它们。

关于qt - 在 Qt 中创建旋转进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13393174/

相关文章:

c++ - 如果我点击它的 child ,如何获得当前行的 QTableWidget?

python - 用于ubuntu的pyqt gui应用程序打包

linux - GStreamer 安装缺少插件

c++ - 无法将 C++ 类型注册到 QML 系统

Blackberry 10 Cascades - 文本区域内的图像

javascript - 在 QML 中绘制 LineSeries 图表

c++ - 测试从 qt4 迁移到 qt5 的库时出现段错误

C++/Qt 内存泄漏?

Qt-删除文件

qt - 如何调整嵌入在 QWidget 中的 QML 小部件的大小?