当启动程序时,有时候在程序启动的时候需要做长时间的准备工作,这时候为了增加用户体验,我们需要在启动过程中显示一幅图片,动画和一些提示性文字来告诉用户现在正在启动,以及启动到什么阶段了。增加了程序的友好度。
QT已经为我们提供了QSplashScreen类,用来在程序启动时候提供一些画面和提示性文字。
根据QT自带的例子可以更改一下:
int main(int argc, char *argv[]) { QApplication a(argc, argv); QPixmap pixmap(":/images/images/4.jpg"); QSplashScreen splash(pixmap); splash.show(); //启动第一阶段 splash.showMessage(QStringLiteral("正在加载资源文件,请稍后……"), Qt::AlignHCenter|Qt::AlignBottom, Qt::red); QDateTime n=QDateTime::currentDateTime(); QDateTime now; do{ now=QDateTime::currentDateTime(); } while (n.secsTo(now)<=3);//3为需要延时的秒数 //启动第二阶段 splash.showMessage(QStringLiteral("正在登录中,请稍后……"), Qt::AlignHCenter|Qt::AlignBottom, Qt::red); n=QDateTime::currentDateTime(); now; do{ now=QDateTime::currentDateTime(); } while (n.secsTo(now)<=3);//3为需要延时的秒数 MainWindow w; w.show(); splash.finish(&w); return a.exec(); }
不过不幸的是,好像只能使用静态图片,并不能加载.gif图片,方法寻找中……