123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include "loadingdialog.h"
- #include <QVBoxLayout>
- LoadingDialog::LoadingDialog(QWidget *parent) : QDialog(parent)
- {
- // 设置对话框无边框且模态显示
- setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
- // setModal(true);
- // 设置对话框背景透明
- setAttribute(Qt::WA_TranslucentBackground, true);
- // 创建垂直布局
- QVBoxLayout *layout = new QVBoxLayout(this);
- // 初始化加载图片标签
- loadingLabel = new QLabel(this);
- // 创建 QMovie 对象并设置动图文件
- loadingMovie = new QMovie(":/icons/icons/loading-un.gif"); // 替换为实际的加载图片路径
- if (loadingMovie->isValid()) {
- // 设置动图的显示大小
- int targetWidth = 200; // 可根据需要调整宽度
- int targetHeight = 200; // 可根据需要调整高度
- loadingMovie->setScaledSize(QSize(targetWidth, targetHeight));
- // 将 QMovie 对象设置给 QLabel
- loadingLabel->setMovie(loadingMovie);
- loadingLabel->setAlignment(Qt::AlignCenter);
- // 开始播放动图
- loadingMovie->start();
- }
- // 将加载图片标签添加到布局中
- layout->addWidget(loadingLabel, 0, Qt::AlignCenter);
- // 设置布局
- setLayout(layout);
- }
- LoadingDialog::~LoadingDialog()
- {
- delete loadingMovie;
- delete loadingLabel;
- }
|