Qt程序启动画面 QSplashScreen

本文深入解析了QSplashScreen在Qt应用程序中的作用与实现方法。它主要用于解决应用启动时的加载界面显示问题,避免因长时间加载导致的界面无响应,通过合理使用processEvents()函数,可以有效提升用户体验。

参考帮助文档描述
QSplashScreen是用于在应用启动的时候的闪屏的一个widget,这个widget通常是在应用启动后显示的。一般在应用需要很长时间才能加载显示主界面的时候使用这个类来处理(比如数据库,需要连接网络的应用等等)

官方给予的示例

 int main(int argc, char *argv[])
  {
      QApplication app(argc, argv);
   QPixmap pixmap(":/splash.png");
  QSplashScreen *splash = new QSplashScreen(pixmap);
  splash->show();

  //... // Loading some items
  splash->showMessage("Loaded modules");

  qApp->processEvents();

  //... // Establishing connections
  splash->showMessage("Established connections");

  qApp->processEvents();
      ...
      QMainWindow window;
      window.show();
      splash.finish(&window);
      return app.exec();
  }

此处需要解释的事,processEvents()函数;

我们使用Qt的时候,经常碰到逻辑部分处理某一些功能非常耗时,占用了主线程(GUI界面线程),导致我们需要等待这个操作使用结束后才可以继续下一步操作。这就是我们常说的“卡顿”现象。processEvents()函数的作用就是,告诉Qt处理所有那些还没有被处理的各类事件。以上述示例解释:Loading some items后showMessage,此时调用processEvents()是告诉Qt,你不用一直盯着Loading some items,有其他的事情需要你去处理。(后面单独写一个processEvents的相关知识)。
这个就很好的解决了在初始启动app的时候,加载的界面显示和加载的界面由于加载时间过长占用界面导致无法响应用户操作,导致程序处于等待响应阶段。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值