一些应用程序启动很慢时,一般会在启动时显示一个画面,利用这种方法可以让程序启动时间不那么长。给Qt应用程序加一个启动画面很简单,需要使用的类是QSplashScreen,在窗口没有显示之前,QSplashScreen显示一个图片,他还可以在图片上显示文字信息提示用户当前程序初始化的进度。一般情况下,启动画面代码在main()函数中,加在调用QApplication::exec()之前
具体的实现如下:
- //main.cpp
- #include <QtGui/QApplication>
- #include <QTextCodec>
- #include <QSplashScreen>
- #include <QDesktopWidget>
- #include "mainwindow.h"
- int main(int argc, char *argv[])
- {
- //在程序中能使用中文必须进行设置字体处理
- QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
- QApplication a(argc, argv);
- QSplashScreen *splash = new QSplashScreen;
- splash->setPixmap(QPixmap("start.jpg"));
- splash->show();
- //让对话框延迟一段时间显示
- for(int i=0;i<200;i++)
- {
- splash->repaint();
- }
- MainWindow w;
- w.show();
- //将窗口移动到屏幕的中央
- w.move ((QApplication::desktop()->width() - w.width())/2,(QApplication::desktop()->height() - w.height())/2);
- splash->finish(&w);
- delete splash;
- return a.exec();
- }
启动画面(start.jpg):
主程序运行画面: