在應用程式啟動時,可以顯示啟動畫面(Splash Screen)來顯示應用程式目前的啟動進度,這可以使用QSplashScreen來達成,您可以簡單的顯示一個圖片與訊息,或是更複製的製作進度列來顯示目前應用程式的載入進度。
下面這個程式以 QMdiArea 為基礎,為其加上啟動畫面:
#include <QApplication>
#include <QMdiArea>
#include <QMainWindow>
#include <QTextEdit>
#include <QMenuBar>
#include <QAction>
#include <QToolBar>
#include <QStatusBar>
#include <QDockWidget>
#include <QLabel>
#include <QPixmap>
#include <QSplashScreen>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QSplashScreen *splash = new QSplashScreen;
splash->setPixmap(QPixmap("caterpillar.jpg"));
splash->show();
splash->showMessage("Starting gossip window...",
Qt::AlignRight | Qt::AlignTop, Qt::black);
QMainWindow *mainWindow = new QMainWindow;
// ... 中間相同
mainWindow->show();
splash->finish(mainWindow);
delete splash;
return app.exec();
}
QSplashScreen可以使用show()方法顯示出來,showMessage()可以設定訊息顯示,並可以指定訊息顯示的位置,在程式中設定顯示在右上角,訊息文字為黑色。
您可以使用QSplashScreen的close()方法關閉啟動畫面,若使用finish()方法,則會在所指定的元件顯示出來之後,才關閉啟動畫面,由於啟動畫面不再需要,所以最後使用delete將之從記憶體中刪除以釋放記憶體空間。
下圖為啟動畫面擷圖: