QSplashScreen 启动图

最后更新于:2022-04-02 02:10:58

[TOC] ## 概述 加载图片 ``` QApplication app(argc, argv); QSplashScreen *splash = new QSplashScreen; splash->setPixmap(QPixmap(":/img/1.png")); splash->show(); splash->showMessage( "Creating Widgets Page...",Qt::AlignHCenter | Qt::AlignVCenter,Qt::red);//居中,红色字体 app.processEvents(); //当处理的事件耗时较长时,保证所有事件处理完成后再继续往下执行 QThread::sleep(1); splash->showMessage( "Creating Database Page..." ); app.processEvents(); QThread::sleep(1); splash->showMessage( "Creating Games Page..." ); app.processEvents(); QThread::sleep(1); MainWindow mainwindow; QTimer::singleShot(2500, splash, SLOT(close())); QTimer::singleShot(2500, &mainwindow, SLOT(show())); return app.exec(); ``` 动态图 ``` QApplication a(argc, argv); //===动态程序启动画面=== QPixmap pix(":/resource/splash2.gif"); QSplashScreen splash(pix); QLabel splashlabel(&splash); QMovie splashgif(":/resource/splash2.gif"); splashlabel.setMovie(&splashgif); splashgif.start(); splash.show(); splash.setCursor(Qt::BlankCursor);//不显示鼠标外观 for(int i=0;i<15000;i+=splashgif.speed()){ QCoreApplication::processEvents(); Sleep(splashgif.speed()/5); } // QCoreApplication::processEvents(); toolbox w; w.show(); splash.finish(&w);//程序启动画面结束 return a.exec(); ```
';