qt启动等待动态图
#ifndefSPLASHSCREEN_H#defineSPLASHSCREEN_H#includeQLabel#includeQGridLayout#includeQTimer#includeQPainter#includeQMouseEvent//启动窗口classSplashScreen:publicQWidget{Q_OBJECTpublic:explicitSplashScreen(intnLoadingType,QWidget*parentnullptr);~SplashScreen();voidsetWidget(QWidget*mainWidget);QWidget*getWidget();voidinit();voidcloseWidget();voidsetLoadText(constQStringtitle);voidsetLoadCount(intcount);voidstart();protected:virtualvoidmousePressEvent(QMouseEvent*event)override;virtualvoidmouseMoveEvent(QMouseEvent*event)override;virtualvoidpaintEvent(QPaintEvent*event)override;signals:voidfinish();publicslots:voidcountTimeout();private:QGridLayout*m_pGridLayout;QLabel*m_pNumLabel;//倒计时计数标签QLabel*m_pTextLabel;//文字标签QWidget*m_pMainWidget;//保存主窗口//SplashScreen显示完毕后就自动显示m_pMainWidgetQPoint m_MousePos;//保存鼠标位置QTimer*m_pLoadTimer;QTimer*m_pCountTimer;intm_nWidth;//窗口宽度intm_nHeight;//窗口高度intm_nAngle;//旋转角度intm_nCount;//倒计时描述intm_nLoadingType;//加载样式};};#endif// SPLASHSCREEN_H#includesplashscreen.hSplashScreen::SplashScreen(intnLoadingType,QWidget*parent)\:QWidget(parent),\m_pMainWidget(nullptr){m_nLoadingTypenLoadingType;//加载图形的类型范围为0-8if((m_nLoadingType0)||(m_nLoadingType8)){m_nLoadingType0;}init();}SplashScreen::~SplashScreen(){deletem_pLoadTimer;deletem_pCountTimer;}voidSplashScreen::setWidget(QWidget*mainWidget){m_pMainWidgetmainWidget;}QWidget*SplashScreen::getWidget(){returnm_pMainWidget;}voidSplashScreen::setLoadText(constQStringtitle){if(!title.isEmpty()){m_pTextLabel-setText(title);}}voidSplashScreen::setLoadCount(intcount){if(m_nCount!count){m_nCountcount;}m_pNumLabel-setText(QString::number(m_nCount));}voidSplashScreen::start(){// m_pCountTimer-start();m_pLoadTimer-start();show();}voidSplashScreen::init(){//setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);//setAttribute(Qt::WA_TranslucentBackground);resize(300,300);//setAttribute(Qt::WA_DeleteOnClose);m_pNumLabelnewQLabel(this);QSizePolicysizePolicy(QSizePolicy::Preferred,QSizePolicy::Expanding);sizePolicy.setHorizontalStretch(0);sizePolicy.setVerticalStretch(0);sizePolicy.setHeightForWidth(m_pNumLabel-sizePolicy().hasHeightForWidth());m_pNumLabel-setSizePolicy(sizePolicy);m_pNumLabel-setAlignment(Qt::AlignCenter);m_pNumLabel-setStyleSheet(QString::fromUtf8(color: rgb(55, 55, 55);\nfont: 75 50pt \\346\245\267\344\275\223\;\nbackground-color: transparent;));m_pTextLabelnewQLabel(this);m_pTextLabel-setVisible(false);m_pTextLabel-setText(QString(Loading));m_pTextLabel-setMinimumSize(0,40);m_pTextLabel-setMaximumHeight(40);m_pTextLabel-setAlignment(Qt::AlignHCenter|Qt::AlignTop);m_pTextLabel-setStyleSheet(QString::fromUtf8(color: rgb(55, 55, 55);\nfont: 75 14pt \\346\245\267\344\275\223\;\nbackground-color: transparent;));m_pGridLayoutnewQGridLayout(this);m_pGridLayout-setSpacing(0);m_pGridLayout-setContentsMargins(11,11,11,11);m_pGridLayout-setContentsMargins(70,70,70,70);m_pGridLayout-addWidget(m_pNumLabel,1,0,1,1);m_pGridLayout-addWidget(m_pTextLabel,2,0,1,1);setLayout(m_pGridLayout);setStyleSheet(QLabel{ color: rgb(55, 55, 55);font: 75 50pt \\346\245\267\344\275\223\;background-color: transparent;});m_nWidthwidth();m_nHeightheight();m_pLoadTimernewQTimer(this);connect(m_pLoadTimer,SIGNAL(timeout()),SLOT(update()));m_pLoadTimer-setInterval(5);m_pCountTimernewQTimer(this);connect(m_pCountTimer,SIGNAL(timeout()),SLOT(countTimeout()));m_pCountTimer-setInterval(1000);m_nAngle0;m_nCount5;m_pNumLabel-setText(QString::number(m_nCount));}voidSplashScreen::mousePressEvent(QMouseEvent*event){m_MousePosevent-globalPos()-pos();}voidSplashScreen::mouseMoveEvent(QMouseEvent*event){move(event-globalPos()-m_MousePos);}voidSplashScreen::paintEvent(QPaintEvent*event){Q_UNUSED(event);QPainterpainter(this);painter.setRenderHint(QPainter::Antialiasing);QPixmap pixmap;QString strPath:/Images/Loading/LoadingQString::number(m_nLoadingType).png;pixmap.load(strPath);//平移到中间painter.translate(m_nWidth/2,m_nHeight/2);//旋转角度painter.rotate(m_nAngle);//图片的旋转轨迹是一个圆圈必须把图片圆心移到这个轨迹圆才能拼凑出画面painter.translate(-m_nWidth/2,-m_nHeight/2);//画图片//图片的宽高和窗口宽高是一样的painter.drawPixmap(0,0,m_nWidth,m_nHeight,pixmap);//角度每次转2度m_nAngle2;if(m_nAngle360)m_nAngle0;}voidSplashScreen::countTimeout(){m_nCount--;m_pNumLabel-setText(QString::number(m_nCount));if(m_nCount0){emitfinish();if(m_pLoadTimer-isActive())m_pLoadTimer-stop();if(m_pCountTimer-isActive())m_pCountTimer-stop();close();if(m_pMainWidget)m_pMainWidget-show();}}intnType0;SplashScreen*pSplashScreennewSplashScreen(nType,nullptr);pSplashScreen-setLoadCount(9);pSplashScreen-start();

相关新闻

分享一个连DeepSeek都说“颜值高”的代码截图工具

分享一个连DeepSeek都说“颜值高”的代码截图工具

作为一名程序员,我经常上各大社区闲逛,看看别人写的文章,当看到别人写的文章既有技术含量又美观的时候,心里是各种羡慕,心想什么时候我能写出这种文章来就好了,不过羡慕归羡慕,自己从没行动过。…

2026/7/4 3:01:45 阅读更多 →
大模型应用中的“中转层”到底解决了什么问题?

大模型应用中的“中转层”到底解决了什么问题?

过去一段时间,大模型应用的热度一直很高。从聊天机器人、智能客服,到知识库问答、代码助手、内容生成工具,再到企业内部自动化系统,越来越多应用开始接入大模型能力。但很多人在真正开发或长期使用 AI 应用时,会发现一…

2026/7/4 3:01:45 阅读更多 →
AI Agent平台架构设计:从概念到企业级工程实践

AI Agent平台架构设计:从概念到企业级工程实践

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 你有没有遇到过这种情况:想用大模型做个稍微复杂点的任务,比如“帮我分析一下这个季度的销售数据,…

2026/7/4 2:59:44 阅读更多 →

最新新闻

Java SHA256加密实战:从原理到密码存储与API签名的完整指南

Java SHA256加密实战:从原理到密码存储与API签名的完整指南

1. 项目概述:为什么我们需要SHA256? 在开发中,处理敏感数据是家常便饭,无论是用户密码、支付凭证还是API签名。直接存储明文密码是开发中的大忌,一旦数据库泄露,后果不堪设想。因此,我们必须对这…

2026/7/4 3:51:58 阅读更多 →
数据产业服务分类(25)——数据要素——数据要素转化的主体

数据产业服务分类(25)——数据要素——数据要素转化的主体

人是数据要素与其他生产要素转化的核心与主体。实践活动是纽带数据与现实世界并非彼此割裂、独立存在,而是通过人类实践活动这一关键纽带实现了紧密相连。人类实践活动充当着数据与现实世界连接的桥梁。人类在现实世界中开展各类实践活动,这些活动产生了…

2026/7/4 3:49:58 阅读更多 →
揭秘租赁行业潜规则:为什么大厂都在租翻新打印机?

揭秘租赁行业潜规则:为什么大厂都在租翻新打印机?

很多人好奇,为什么大型企业、连锁公司、上市公司,明明有预算,却偏偏不租新机,反而首选翻新打印机?今天揭秘租赁行业没人说的真话。一、大厂只看实用性,不看面子对专业企业来说,打印机只是办公工…

2026/7/4 3:49:58 阅读更多 →
学习做一个无人机的前置知识(1)

学习做一个无人机的前置知识(1)

四轴无人机两种机身布局市面上四轴无人机分十字 () 型、X 型两种,教学、入门无人机基本都用 X 型,更好操控、飞行更稳。十字 () 型布局机头正对着其中一个螺旋桨。 优点:结构逻辑直观;缺点:操控手感差,微调…

2026/7/4 3:43:57 阅读更多 →
【Springboot毕设全套源码+文档】基于springboot自行车分享平台的设计与实现(丰富项目+远程调试+讲解+定制)

【Springboot毕设全套源码+文档】基于springboot自行车分享平台的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/4 3:43:57 阅读更多 →
ICAIEI 2026 人工智能与情感智能国际会议

ICAIEI 2026 人工智能与情感智能国际会议

【ICAIEI 2026】International Conference on Artificial Intelligence and Emotional Intelligence ICAIEI 2026 作为一个全球性平台,旨在探索这一交叉领域。它汇聚了研究人员、心理学家、技术专家、政策制定者、教育工作者以及行业领袖,共同探讨如何将…

2026/7/4 3:41:56 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻