Qt 编程—— 程序启动画面的简单实现(含源码)

文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。


笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者: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 …
在这里插入图片描述
显示:主程序页面
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Aliven888/article/details/113143639