欢迎小伙伴的点评✨✨,相互学习、互关必回、全天在线🍳🍳🍳
博主🧑🧑 本着开源的精神交流Qt开发的经验、将持续更新续章,为社区贡献博主自身的开源精神👩🚀
本章节将会给大家带来程序启动画面的详细使用方法
多数大型应用程序启动时都会在程序完全启动前显示一个启动画面,在程序完全启动后消失。程序启动画面可以显示相关产品的一些信息,使用户在等待程序启动的同时了解相关产品的功能,这也是一个宣传的方式。 Qt 中提供的 QSplashScreen 类实现了在程序启动过程中显示启动画面的功能。
图一
图片放到构建文件build-QSplashScreen-Desktop_Qt_5_12_2_MinGW_32_bit-Debug目录下
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv); //创建一个QApplication对象
QPixmap pixmap("PKQ.png"); //(a)
QSplashScreen splash(pixmap); //(b)
splash.show(); //显示此启动图片
a.processEvents(); // (c)
MainWindow w; //(d)
QFont font("Microsoft YaHei", 30, 25); //设置文字格式及大小
w.setFont(font);
w.show();
splash.finish(&w); //(e)
return a.exec();
}
其中,
(a)QPixmap pixmap(“PKQ.png”):创建一个 QPixmap 对象,设置启动图片(这里设置为 Qt的图标 “PKQ.png”) 。
(b)QSplashScreen splash(pixmap):利用 QPixmap 对象创建一个 QSplashScreen 对象。
(c)a.processEvents():使程序在显示启动画面的同时仍能响应鼠标等其他事件。
(d)MainWindow w、w.show():正常创建主窗体对象,并调用 show()函数显示。
(e)splash.finish(&w):表示在主窗体对象初始化完成后,结束启动画面。中央的 Qt 图片首先出现 1 秒 (s), 然后才弹出 “I love 皮卡丘” 窗口。
#include "mainwindow.h"
#include
#include
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
setWindowTitle("皮卡丘");
QTextEdit *edit=new QTextEdit;
edit->setText("I love 皮卡丘");
setCentralWidget(edit);
resize(600,450);
Sleep(1000); //由于启动画面通常在程序初始化时间较长的情况下出现,
//为了使程序初始化时间加长以显示启动画面,
//此处调用 Sleep()函数,使主窗口程序在初始化时休眠几秒。
}
MainWindow::~MainWindow()
{
}
程序启动画面会在应用程序开发中经常用到的