Qt动画教程:仿Android旋转图标的等待对话框动画
本文将介绍如何使用Qt实现仿Android旋转图标的等待对话框动画。该效果通常会在网络请求或数据加载时使用,以提示用户正在处理中。
实现过程:
- 新建Qt Widget应用程序,并新建一个QDialog窗口,设置窗口无边框并将窗口背景设为透明。
- 在窗口中心位置添加一个QLabel控件,设置其大小为50x50,并加载一张与Android旋转图标相似的GIF图片作为其背景,用于展示动画效果。
- 使用QPropertyAnimation类实现旋转动画效果。具体来说,创建一个QPropertyAnimation对象并将其连接到QLabel控件的旋转属性上,然后设置动画时长、插值类型、重复次数等参数即可。
- 在需要展示等待对话框的地方,创建该QDialog窗口并调用其show()方法即可。
源代码如下:
#include <QDialog>
#include <QLabel>
#include <QPropertyAnimation>
class WaitingDialog : public QDialog {
private:
QLabel* m_loadingIcon;
public:
WaitingDialog(QWidget* parent = nullptr) :
QDialog(parent, Qt::FramelessWindowHint) {
//设置透明背景
setAttribute(Qt::WA_TranslucentBackground);