Create Spin Progress bar in Qt, I want to show progress bar like the one which appears while loading. Please Find Image
My code goes like this
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();
here installOnDevice(destinationSavePath);
takes time to process. Currently I am showing Processbar
, I dont want to show processbar
. Can't I replace with some progress which shows loading image
(Rotating) or something similar to that
Try Qml Busy Indicator, implemented in pure C++: http://qt-project.org/wiki/Busy-Indicator-for-QML
In order to change the cursor wou have to use the setCursor function or the setOverrideCursor in order to apply it to the application. You can construct any cursor you want using a QPixmap as constructor argument.
In order to achieve an animation effect you will need a QTimer. At every timer event you have to change the cursor's pixmap in order give the feel of animation.
Have a look at the Twitter Mobile example application. In the file demos/declarative/twitter/qml/twitter/TwitterCore/Loading.qml there is an implementation in QML of the exact thing you want to achieve:
Update 1 (reflecting the newly posted code):
Employing QML just for a spinning load indicator in your otherwise Qt Widgets based application seems overkill to me. I would use a
QMovie
in conjunction with aQLabel
to display an animated GIF image containing the spinner:You should also have a look at the documentation for the Qt Resource System to learn how to bundle images with your application and how to load them.