一些應用程序啟動很慢時,一般會在啟動時顯示一個畫面,利用這種方法可以讓程序啟動時間不那麼長。給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();
- }
啟動畫面:
主程序運行畫面: