当前位置: 首页 > 网络知识

Qt 程序启动画面QSplashScreen

时间:2026-01-29 09:27:11

  QSplashScreen是Qt框架提供的一个类,用于在应用程序启动时显示一个带有文本和图像的启动画面(Splash Screen)。

  使用QSplashScreen类,你可以在应用程序启动时显示一个自定义的启动画面,以提供更好的用户体验。这个类提供了一些方法和属性,可以让你设置启动画面的文本、图像和其他样式。

  启动画面有两种,一种是静态启动画面,即运行程序显示一个界面(一张图片),显示结束后关闭程序界面。另一种是动态画面,即运行程序显示一个动态画面,通常是一段视频、或一个gif格式图片,播放结束后运行程序。

  QSplashScreen类构造函数默认传入QPixMap类型的参数,因此,静态启动和动态启动所需要的画面都需要借助QPixMap类。下图是QSplashScreen类的构造函数详情:

1.静态启动画面
  首先用QPixMap加载图像,然后传入QPixMap作为参数创建一个QSplashScreen类,调用show()显示。在show()之后调用QApplication::processEvents()。关于processEvents事件循环,文档解释是:预先调用处于队列状态的事件,直到全部处理完毕。通俗来说就是,在启动画面没显示完成之前,不要执行后面的界面ui绘制。最后,在主程序显示之后,调用dinish()结束启动画面。

1 #include "toolbox.h" 2 #include <QApplication> 3 4 int main(int argc, char *argv[]) 5

2.动态启动画面
  由于QSplashScreen默认使用QPixmap类型的数据作为参数,所以直接调用gif文件或视频文件是无效的。这里需要使用QMovie实现动态画面的播放。
首先还是要定义QPixmap和QSplashScreen,然后通过一个事件循环,让gif以指定速度刷新,然后将刷新的帧画面以pixmap的方式显示。这里要注意的就是gif的播放速度要与事件循环速度匹配。

1 #include "toolbox.h" 2 #include <QApplication> 3 4 int main(int argc, char *argv[]) 5 //循环持续到动画播放结束 21 22 toolbox w; 23 show(); 24 25 splash.finish(&w);//程序启动画面结束 26 27 return a.exec(); 28 }



上一篇:Qt qAbs、qMax、qRound和qSwap的使用
下一篇:Qt Chart Themes Example(图表主题)
Qt
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素