多数大型应用程序启动时都会在程序完全启动前显示一个启动画面,在程序完全启动后消失。程序启动画面可以显示相关产品的一些信息,使用户在等待程序启动的同了解相关产品的功能,这也是一个宣传的方式。Qt中提供的QSplashScreen类实现了在程序启动过程中显示启动画面的功能

【例】(简单)(CH408)程序启动画面(QSplashScreen)的使用方法。当运行程序时,在显示屏的中央出现一个启动画面,经过一段时间,应用程序完成初始化工作后,启动画面隐去,出现程序的主窗口界面。
实现方法如下。
(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“SplashSreen”,基类选择“QMainWindow”,类名命名为“MainWindow”,取消“创建界面”复选框的选中状态。单击“下一步”按钮,最后单击“完成”按钮,完成该项目工程的建立。
(2)主窗体MainWindow类继承自QMainWindow类,模拟一个程序的启动,打开“mainwindow.h”头文件,自动生成的代码如下:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
class MainWindow : public QMainWindow
{Q_OBJECT
public:MainWindow(QWidget *parent = 0);~MainWindow();
};
#endif // MAINWINDOW_H

(3)打开“mainwindow.cpp”源文件,添加如下代码:

//添加的头文件
#include <QTextEdit>
#include <windows.h>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{setWindowTitle("Splash Example");QTextEdit *edit=new QTextEdit;edit->setText("Splash Example!");setCentralWidget(edit);resize(600,450);Sleep(1000);                                //(a)
}

(4)启动画面主要在main()函数中实现,打开“main.cpp”文件,添加以下加黑代码:

#include "mainwindow.h"
#include <QApplication>
#include <QPixmap>
#include <QSplashScreen>
int main(int argc, char *argv[])
{QApplication a(argc, argv);         //创建一个QApplication对象QPixmap pixmap("Qt.png");               //(a)QSplashScreen splash(pixmap);           //(b)splash.show();                  //显示此启动图片a.processEvents();                  //(c)MainWindow w;                   //(d)w.show();splash.finish(&w);                  //(e)return a.exec();
}

其中,
(a) QPixmap pixmap(“Qt.png”):创建一个QPixmap对象,设置启动图片(这里设置为Qt的图标“Qt.png”)。
(b) QSplashScreen splash(pixmap):利用QPixmap对象创建一个QSplashScreen对象。
(c) a.processEvents():使程序在显示启动画面的同时仍能响应鼠标等其他事件。
(d) MainWindow w、w.show():正常创建主窗体对象,并调用show()函数显示。
(e) splash.finish(&w):表示在主窗体对象初始化完成后,结束启动画面。

(5)选择“构建”→“构建项目”SplashSreen””菜单项,将事先准备好的图片Qt.png复制到项目D:\Qt\CH4\CH408\build-SplashSreen-Desktop_Qt_5_8_0_MinGW_32bit-Debug目录下(或者build-SplashSreen-Desktop_Qt_5_9_2_MSVC2017_64bit-Debug),运行程序,启动效果如图所示。

完整工程可以在这里获取:https://download.csdn.net/download/mao_hui_fei/10376774
包括很多内容,源码及ppt教程

QT5.9学习笔记之——程序启动画面相关推荐

  1. Qt程序启动画面播放(gif与swf两种动画格式)

    学习Qt有一段时间了,发现一个小问题,网上关于Qt的资料或者总结性的学习及应用文章有点少. 比如,Qt完整的API,程序运行之前的启动画面如何按理想效果播放等,每次想在项目中添加一些应用的时候,总是找 ...

  2. CUDA学习笔记之程序优化

    CUDA学习笔记之程序优化 标签: cuda优化conflict存储算法数学计算 2010-01-05 17:18 5035人阅读 评论(4) 收藏 举报 分类: CUDA(6) 版权声明:本文为博主 ...

  3. 小猫爪:i.MX RT1050学习笔记20-安全启动4-实现HAB签名和HAB加密

    小猫爪:i.MX RT1050学习笔记20-安全启动4-实现HAB签名和HAB加密 1 前言 2 准备工作 2.1 下载Flashloader 2.2 下载CST 2.3 安装OpenSSL 3 实战 ...

  4. 小猫爪:i.MX RT1050学习笔记19-安全启动3-实现HAB签名

    小猫爪:i.MX RT1050学习笔记19-安全启动3-HAB签名 1 前言 2 准备工作 2.1 下载Flashloader 2.2 下载CST 2.3 安装OpenSSL 3 实战操作 3.1 生 ...

  5. VC四种程序启动画面的制作方法

    使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序):二是可以用来显示软件名称和版权等提示信息.怎样使用VC++制作应用程序的启动画面呢?本文提供四种方法,前三种适用于基于文档的应 ...

  6. html 流程控制,HTML5独家分享:原生JS学习笔记2——程序流程控制

    当当当当 .....楼主又来了!新一期的js学习笔记2--程序流程控制更新了! 想一键获取全部js学习笔记的可以给楼主留言哦! js中的程序控制语句 常见的程序有三种执行结构: 1.顺序结构 2.分支 ...

  7. Qt程序启动画面QSplashScreen类

    Qt程序启动画面QSplashScreen类 当程序初始化工作比较多,程序可能启动较长时间后,窗口才会显示出来,用户没准会抱怨程序响应的慢.为了改善用户体验,最好在程序初始化这段时间显示logo,或者 ...

  8. 进阶~Qt程序启动画面

    今天又把教程视频看了一遍,这次学的是程序启动画面设置方法,以下是源码: #include"mainwindow.h" #include #include"QPixmap& ...

  9. 进阶~Qt程序启动画面_vortex_新浪博客

    今天又把教程视频看了一遍,这次学的是程序启动画面设置方法,以下是源码: #include"mainwindow.h" #include #include"QPixmap& ...

最新文章

  1. 使用scrapy抓取股票代码
  2. apache php ffmpeg,linux(php环境) 安装ffmpeg
  3. Android Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE解决办法
  4. 将select中的项从一个移动到另一个select中
  5. mysql 5.7.4 m14_win7 64位下如何安装配置mysql-5.7.4-m14-winx64(安装记录)
  6. 【2017年第2期】社交网络分析在公共安全领域的应用
  7. 注册Nocos配置中心失败:Could not resolve placeholder ‘config.info‘ in value “${config.info}
  8. 中国三大运营商发声!要求纽交所复议退市决定
  9. mysql数据库1129错误
  10. ​17 款程序员神级 Chrome 插件,爱了爱了!
  11. 金融科技成为服贸会热议话题:数字化转型中如何保障金融安全
  12. java正则 连续数字,正则表达式实现匹配连续数字的方法
  13. 【InSAR 笔记2】哨兵一号精轨数据批量下载【修改0704】
  14. GIS地图基础知识--入门教程
  15. 2023届双非硕士四个月秋招历程总结
  16. JS + HTML + CSS 实现Todolist
  17. 使用腾讯云轻量香港搭建rinetd端口转发服务实现SSH加速
  18. Visual Age for Java_VisualAge for Java使用技巧
  19. 2022年初级护师考试综合试题及答案
  20. 一对夫妇卖猪肉月入5W,而一名程序员月入两万,你是做程序员还是卖猪肉?

热门文章

  1. codeforces 1250N wires(简单图论)
  2. hive:函数:日期比较函数:datediff() + months_between() 求时间差(天数时间差+小时时间差+分钟时间差+秒时间差)
  3. 制造企业转型为数字化工厂有哪些挑战
  4. MIT-6.828-JOS-lab4:Preemptive Multitasking
  5. 仿生算法_糖尿病患者:说出仿生胰腺很有趣,但是现实检查怎么样?
  6. 又一批阿里网盘扩充码!亲测有效!这次数量比较少,抓紧!
  7. 默认开放25端口且有rDNS的服务器推荐
  8. Android 仿幕布APP 树形结构富文本笔记功能
  9. 步进电机和伺服电机有什么区别
  10. 借助百度地图api下载公交信息