当程序的初始化工作比较多,程序可能启动较长时间后,窗口才会显示出来,用户没准会抱怨程序响应的慢。
为了改善用户体验,最好在程序初始化这段时间显示logo,或者其他信息提示用户程序已启动。QT提供了QSplashScreen 类,其使用方法比较简单,下面的例子就是,当程序运行到 splash. show();时,logo.gif就会显示出来,当dialog的初始化完成,运行到 splash. finish(& dialog);时, 主窗口显示出来,并且 启动画面隐藏
- int main( int argc, char * argv[])
- {
- QTextCodec :: setCodecForTr( QTextCodec :: codecForName( "GB18030" ));
- QApplication app(argc,argv);
- QPixmap pixmap(":/images/logo.gif"); //绑定一个图片
- QSplashScreen *splash=new QSplashScreen;
- splash.setPixmap(pixmap);
- splash.show(); //显示启动画面
- app.processEvents(); //加载其他的模块
- mainWindow dialog;
- dialog.show();
- splash.finish(&dialog); //当主窗口启动后,启动画面隐藏
- delete splash;
- return app.exec();
- }
- QDateTime n=QDateTime::currentDateTime();
- QDateTime now;
- do{
- now=QDateTime::currentDateTime();
- } while (n.secsTo(now)<=6);//6为需要延时的秒数
- 这样启动画面就可以多停留6秒
联系客服