文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。
笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者:Aliven888
文章目录
1、背景
我们在进行应用程序开发时,程序在启动时都会显示一个启动动画(splash screen)。即在程序的主窗口出现之前显示一张图片,也可以在该图片上显示一些文本消息,用来通知用户应用程序初始化过程。
程序启动动画的好处有两点:
- 有时我们的程序在启动时,需要记载很多资源,这就会导致程序启动变慢,为了给客户一个号的体验,加一个启动动画就能显的很人性化。
- 程序的启动动画一般都是公司的主页,包含公司的很多信息元素,能启到一个很好的宣传效果,这也就导致了很多客户都喜欢有这么一个启动动画。
2、资源加载
按照图示步骤配置(加载)一个准备好的资源图片。
3、程序实现(源码)
在Qt开发中,我们通过使用QSplashScreen类,可以非常容易的为Qt应用程序实现一个启动动画。
通常程序的启动动画程序放在main()函数中,位于QApplication::exec()调用之前。
#include "QtGuiApplication.h"
#include <QtWidgets/QApplication>
#include <QSplashScreen> //启动动画类
#include <QtGui/QPixmap> //资源图片加载类
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//定义一个对象
QSplashScreen *splash = new QSplashScreen();
//设置启动动画图片
splash->setPixmap(QPixmap(":/QtGuiApplication/Resources/icon_splashScreen.jpg"));
splash->show();
//设置显示文本描述,文本描述可以有多个,根据自己的需求添加
Qt::Alignment topRight = Qt::AlignRight | Qt::AlignTop; //字体显示位置
splash->showMessage(QObject::tr("Setting up the main window ..."), topRight, Qt::white); //设置显示的文本内容,位置,字体颜色
//定义程序主框架类对象
QtGuiApplication w;
//切换显示内容 —— 显示下一步的操作
splash->showMessage(QObject::tr("Loading xxxx ..."), topRight, Qt::white);
//这里可以用于处理一些预加载内容
//loadxxxx();
//切换显示内容 —— 主界面即将展示
splash->showMessage(QObject::tr("Will show software UI ..."), topRight, Qt::white);
//这里可以用于处理一些主程序初始化内容
//w.init();
//启动动画完成,释放对象资源
splash->finish(&w);
delete splash;
//显示程序主界面
w.show();
return a.exec();
}
4、效果演示
显示:Setting up the main window …
显示:Loading xxxx …
显示:Will show software UI …
显示:主程序页面