在main.cpp中实例化一个QSplashScreen对象,加载启动画面,并显示该对象。当主窗口打开后,终结(finis)该对象。
mainwin.h
- #ifndef MAINWIN_H
- #define MAINWIN_H
- #include <QtGui/QMainWindow>
- class MainWin : public QMainWindow
- {
- Q_OBJECT
- public:
- MainWin(QWidget *parent = 0, Qt::WFlags flags = 0);
- ~MainWin();
- private:
- };
- #endif // MAINWIN_H
mainwin.cpp
- #include "mainwin.h"
- #include <QTextEdit>
- #include <QElapsedTimer>
- #include <QCoreApplication>
- MainWin::MainWin(QWidget *parent, Qt::WFlags flags)
- : QMainWindow(parent, flags)
- {
- setWindowTitle(tr("Splash Screen Example"));
- QTextEdit *edt = new QTextEdit;
- edt->setText("Splash Screen Example!");
- setCentralWidget(edt);
- resize(600,450);
- QElapsedTimer t;
- t.start();
- while(t.elapsed()<1000)
- QCoreApplication::processEvents();
- }
- MainWin::~MainWin()
- {
- }
main.cpp
- #include "mainwin.h"
- #include <QtGui/QApplication>
- #include <QPixmap>
- #include <QSplashScreen>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QPixmap pix("images/splash.jpg");
- QSplashScreen splash(pix);
- splash.show();
- a.processEvents();
- MainWin w;
- w.show();
- splash.finish(&w);
- return a.exec();
- }