首页 > 学院 > 开发设计 > 正文

Qt 5基本对话框之程序启动画面(QSplashScreen)

2019-11-08 00:40:11
字体:
来源:转载
供稿:网友
多数大型应用程序启动时都会在程序完全启动前显示一个启动画面,在程序完全启动后消失。本节主要介绍在linux系统中如何实现这一功能。首先是mainwindow.h文件,自动生成的代码如下:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow{ Q_OBJECTpublic: MainWindow(QWidget *parent = 0); ~MainWindow();};#endif // MAINWINDOW_H打开“mainwindow.cpp”源文件,添加如下代码:#include "mainwindow.h"#include <QTextEdit>#include <unistd.h>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ setWindowTitle("Splash Example"); QTextEdit *edit=new QTextEdit; edit->setText("Splash Example"); setCentralWidget(edit); resize(600,450); sleep(2); //由于启动画面通常在程序初始化事件较长的情况下出现,为了使程序初 //始化时间加长以显示启动画面,此处调用Sleep()函数}MainWindow::~MainWindow(){}启动画面主要在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("mxy.png");** //创建一个QPixmap对象,设置启动图片 **QSplashScreen splash(pixmap);** //利用QPixmap对象创建一个QSplashScreen对象 **splash.show();** //显示此启动图片 **a.PRocessEvents();** //使程序在显示启动画面的同时仍能响应鼠标其他事件 MainWindow w; //正常创建主窗体 w.show(); //调用show()函数显示 **splash.finish(&w);** //在主窗体对象初始化完成后,结束启动画面 return a.exec();}运行即可。启动效果图如下:

程序启动时的等待图像 等待之后的程序运行图像

注意,在Linux系统下,mainwindow.cpp文件中包含的头文件是<unistd.h>,使用的休眠程序是sleep(2),即休眠两秒。而在Windowsx系统下,mainwindow.cpp文件中包含的头文件是<windows.h>,使用的休眠函数是Sleep(2000)。
上一篇:JPA-@Version

下一篇:华为机试 计负均正

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表