#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMainWindow>
void MainWindow::addloadgif(const QString& gifpath,const QString& showmsg){
QSize size = this->size(); //获取MainWindow的宽高
int rwidth = size.width();
int rheight = size.height();
int gif_width = 120;
int gif_height = gif_width;
// 创建一个标签来显示加载动画
m_loadingLabel = new QLabel(this);
//setGeometry(int x, int y, int width, int height) x:x坐标;y:y坐标;width:宽度;height:高度
m_loadingLabel->setGeometry((rwidth-m_loadingLabel->width())/2, ((rheight - m_loadingLabel->height()) / 2)-60,gif_width,gif_height);
m_msgLabel = new QLabel(showmsg,this);
m_msgLabel->setAlignment(Qt::AlignCenter); // 设置文本居中
// 设置字体大小
QFont font = m_msgLabel->font();
font.setPointSize(12); // 设置为12号字体,根据需要可以调整大小
m_msgLabel->setFont(font);
m_msgLabel->setGeometry((rwidth-m_msgLabel->width())/2,((rheight - m_msgLabel->height()) / 2)+60,gif_width,40);
// 创建一个QMovie对象来加载GIF动画
m_movie = new QMovie(gifpath); // 替换为你的GIF路径
m_loadingLabel->setScaledContents(true);
m_loadingLabel->setFixedSize(gif_width,gif_height);
m_loadingLabel->setMovie(m_movie);
m_movie->start();
stopLoading();
}
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
//ui->setupUi(this);
// 设置主窗口
setFixedSize(600, 400);
// 创建一个布局来管理标签位置
m_layout = new QVBoxLayout;
// 添加一个按钮,用于模拟其他操作
m_LoadingButton = new QPushButton("关闭动画", this);
m_layout->addWidget(m_LoadingButton);
connect(m_LoadingButton, &QPushButton::clicked, this, &MainWindow::simulateLoading);
addloadgif(":/index/img/load.gif","正在处理...");
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::stopLoading() {
// 停止动画
//m_movie->stop();
//把标签隐藏起来
m_loadingLabel->hide();
m_msgLabel->hide();
m_LoadingButton->setText("开启动画");
m_openstatus = false;
}
void MainWindow::showLoading() {
//
//m_movie->start();
m_loadingLabel->show();
m_msgLabel->show();
m_LoadingButton->setText("关闭动画");
m_openstatus = true;
}
void MainWindow::simulateLoading() {
if(m_openstatus){
stopLoading();
}else{
showLoading();
}
}
扶尔魔ocy
- 粉丝: 1147
- 资源: 11
最新资源
- java毕设项目之ssm基于Java的共享客栈管理系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于java的健身房管理系统的设计与实现+vue(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于java和mysql的多角色学生管理系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于Java的图书管理系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于java的少儿编程网上报名系统+vue(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于Java语言校园快递代取系统的设计与实现+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于jsp的精品酒销售管理系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于JSP的乡镇自来水收费系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于SSM的高校共享单车管理系统的设计与实现+vue(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于ssm的人才招聘网站+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于SSM框架的购物商城系统+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于SSM框架的个人博客网站的设计与实现+vue(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于ssm的新能源汽车在线租赁管理系统+vue(完整前后端+说明文档+mysql+lw).zip
- 小目标尺寸下的地表信息图像分类数据集【已标注,约30,000张数据】
- java毕设项目之ssm家政服务网站设计+jsp(完整前后端+说明文档+mysql+lw).zip
- java毕设项目之ssm基于Web的智慧城市实验室主页系统设计与实现+vue(完整前后端+说明文档+mysql+lw).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈