有时候程序加载过程中时间过长需要先加载图片以避免黑屏的尴尬。
用法1
- 在显示splash.png图片过程中执行用户启动程序的初始工作,等待完成后调用finish即可关闭启动图片。
1
2
3
4
5
6
7
8
9
10
11
12
13int 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)
接口即可。