QSplashscreen制作程序启动画面
在大型程序启动之前,通常都有一个动画界面,之后才能进入软件界面。例如vivado、eclipse、Altium Designer等。在程序启动时,通常需要导入配置数据,读取用户文件,进行网络初始化等操作,为了避免用户因这个等待导致用户体验差,通常均用一小段动画,或者图片,进度条的形式显示。在Qt开发的应用程序中,使用QSplashscreen可以完成这一操作。
通常在main函数中的主界面显示之前完成这个操作,如果显示图片则使用QPixmap构造;如果显示动画gif则需要使用QMovie构造,并将gif放在以splashscreen为父对象的Qlabel上操作。下面示例中显示了图片效果,代码简单,使用时可直接黏贴。
main代码如下:
请关注注释
#include "widget.h"
#include <QApplication>
#include <QPixmap>
#include <QSplashScreen>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
QPixmap pix(":/screen.png");//应用程序加载图片
QSplashScreen myScreen(pix);//构造显示屏幕
myScreen.show();//启动动画显示
for(int i = 0;i<800000000;i++);//停留 延时
//在finish之前,你可以进行自定义应用中所需的操作,例如初始化,文件读取等操作
myScreen.finish(&w);//结束
w.show();
return a.exec();
}