程序启动画面QSplashScreen类

当程序的初始化工作比较多,程序可能启动较长时间后,窗口才会显示出来,用户没准会抱怨程序响应的慢。
为了改善用户体验,最好在程序初始化这段时间显示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();  
}  

当程序启动慢的时候,该画面就会停留一会,也可以在图片上显示一下程序启动的加载信息,如上述代码中的showMessage(),但是如果程序启动很快的话,启动图片就会一闪而过,其实启动画面也出现了的,只是出现的时间比较短,如果想让程序启动之前画面多停留一下,可以添加一个延时器

QDateTime n=QDateTime::currentDateTime();
QDateTime now;
do{
now=QDateTime::currentDateTime();
} while (n.secsTo(now)<=6);//6为需要延时的秒数

这样启动画面就可以多停留6秒


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值