为Qt程序添加启动图片

有时候程序加载过程中时间过长需要先加载图片以避免黑屏的尴尬。

用法1

  • 在显示splash.png图片过程中执行用户启动程序的初始工作,等待完成后调用finish即可关闭启动图片。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);
    QPixmap pixmap(":/splash.png"); // 装载图片
    QSplashScreen splash(pixmap); // 初始化图片到QSplashScreen
    splash.show(); // 显示图片
    app.processEvents(); // 刷新事件循环
    ...
    QMainWindow window;
    window.show();
    splash.finish(&window); // 完成后自动close
    return app.exec();
    }

用法2

  • 在加载过程中可以调用splash->showMessage("Message");来显示文字;
  • 如果想绘制图形通过设置pixmap的指针或重写void QSplashScreen::drawContents(QPainter *painter)接口即可。