`
mmdev
  • 浏览: 12917099 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

【Qt开发】实现Qt程序启动画面

 
阅读更多

如果一个程序的启动时间较长(例如需要提前加载的数据量比较大),那么一般来说程序会有一个启动画面。这样既让用户看到程序正在启动而不是简单乏味的的等待,同时也显示了程序的一些有用信息,例如程序logo, 功能模块或产品信息等。

在Qt应用程序中,可以通过QSplashScreen类来实现启动画面。下面是一个简单的例子,实现了加载splash图片,并在显示画面的同时预加载了程序的一些模块数据。

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    // 设置程序的默认字符编码
    QTextCodec *tc=QTextCodec::codecForName("utf-8");
    QTextCodec::setCodecForTr(tc);

    //加载并显示启动画面
    QSplashScreen splash(QPixmap(":/images/images/splash.png"));
    splash.setDisabled(true); //禁用用户的输入事件响应
    splash.show();

    splash.showMessage(QObject::tr("内存数据库管理器.正在启动中...."),
    Qt::AlignLeft|Qt::AlignBottom,Qt::green);
    //同时创建主视图对象
    MainWindow w;

    splash.showMessage(QObject::tr("加载模块数据...."),Qt::AlignLeft|Qt::AlignBottom,Qt::green);
    //预加载程序数据;
    loadModulesData();
    //程序数据加载完毕后, 显示主视图,并结束启动画面
    w.show();
    splash.finish(&w);

    return a.exec();
}

如果想自定义启动画面的存在时间的话,可以通过QTime或QElapsedTimer类来实现程序的等待。如下所示,程序在空循环1s:

QElapsedTimer t;
t.start();
while(t.elapsed()<1000)
{
    QCoreApplication::processEvents();
}

(Qt并没有提供跨平台的sleep函数,如果要用sleep函数可以使用QTest类提供的qsleep函数,而实际上QTest的实质也是用到了QElapsedTimer。)



分享到:
评论

相关推荐

    利用Qt实现程序启动画面

    利用Qt程序启动画面的实现(QSplashScreen)

    QT实现程序启动界面

    使用QProcess实现的程序启动界面,支持播放gif动画,支持静态图片,支持多张图片切换,程序启动后自动退出

    QT5开发实例小程序,从零开始学会QT5开发

    QT5开发实例小程序,从零开始学会QT5开发 QT5开发实例小程序,从零开始学会QT5开发 QT5开发实例小程序,从零开始学会QT5开发 QT5开发实例小程序,从零开始学会QT5开发 QT5开发实例小程序,从零开始学会QT5开发 QT5...

    QT实现视频监控开发画面分割

    qt环境下实现了15种分割展示方式,可用于视频监控领域画面展示效果

    QtService 实现Qt后台服务程序

    本文使用QtService演示如何实现一个windows下的后台进程,可用于一些简单的windows服务程序中。 博客介绍:https://luoyayun361.blog.csdn.net/article/details/120655011?spm=1001.2014.3001.5502

    【Qt】Qt 开发桌面程序

    【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 ) https://hanshuliang.blog.csdn.net/article/details/114955196 博客...

    用QT开发实现gps功能源码

    用QT开发实现gps功能 用QT开发实现gps功能源码

    Qt程序启动画面 实例

    程序启动画面一般用于显示软件信息(名称、作者、版权等)以及减少程序加载过程中的枯燥感。

    Qt实现自动升级

    Qt实现自动升级

    Windows守护程序的实现(软件看门狗)-基于QT开发

    基于QT开发的Windows守护程序看门狗 提供QT源码和编译实现的程序daemon_qt.exe 软件原理是程序扫描windows窗口任务,当连续5次没有发现守护程序在运行时,自动开启该程序。 程序可设定需要守护的windows程序

    Qt5开发及实例-CH408.rar,Qt5程序启动画面(QSplashScreen)的使用方法代码

    Qt5开发及实例,实例CH408,程序启动画面(QSplashScreen)的使用方法。当运行程序时,在显示屏的中央出现一个启动画面,经过一段时间,应用程序完成初始化工作后,启动画面隐去,出现程序的主窗口界面。 实现方法如下...

    Ubuntu 下使用QT开发的串口程序

    1. 使用QT开发的简易串口程序 2. 使用socat 虚拟串口,可在linux系统下测试。

    qt项目开发实例超详细版

    Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器...

    Qt小程序集合

    Qt实现的小程序集合,几乎包含了所有的文件操作,还有一些小小的技巧在里面,编写小工具的时候经常用到这些功能

    QT开发的POS机程序

    采用QT开发的POS机程序,可以直接使用在CE/LINUX为系统的嵌入式系统中,本人已经移植到ARM上,可以放心使用。

    qt编写的启动画面程序(两种方法)

    这里面是启动画面的源程序包,可以直接运行,并且里面是两组代码

    QT项目开发实例

    跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了...

    使用Qt开发界面程序控制GPIO

    前言Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用...2014年4月,跨平台集成开发环境QtCreator3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持

    QT5开发及实例配套[源代码].zip

    Qt是诺基亚公司的C++可视化开发平台,本书以Qt 5作为平台,每个章节在简单介绍开发环境的基础上,用一个小实例,介绍Qt 5应用程序开发各个方面,然后系统介绍Qt 5应用程序的开发技术,一般均通过实例介绍和讲解内容...

    Qt调用CMD启动外部程序Demo.zip

    Qt调用CMD启动外部程序Demo,简单代码包含了如何使用QProcess调用cmd命令启动外部程序,其中还有一个问题没有解决,关于cmake文件拷贝的问题需要自己添加

Global site tag (gtag.js) - Google Analytics