QT5.9学习笔记之——程序启动画面

多数大型应用程序启动时都会在程序完全启动前显示一个启动画面,在程序完全启动后消失。程序启动画面可以显示相关产品的一些信息,使用户在等待程序启动的同了解相关产品的功能,这也是一个宣传的方式。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 
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 
#include 
#include 
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),运行程序,启动效果如图所示。
QT5.9学习笔记之——程序启动画面_第1张图片

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

你可能感兴趣的:(Qt学习)