#include "loadingdialog.h" #include 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; }