在 Qt 中创建 Spin Progress bar,我想显示进度条,就像加载时出现的进度条一样。请找图片
我的代码是这样的
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/