一些应用程序启动很慢时,一般会在启动时显示一个画面,利用这种方法可以让程序启动时间不那么长。给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("F:\\Windows QT\\Notepad\\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(); }
启动画面:
主程序运行画面: