且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Qt之对话框设计——程序启动界面

更新时间:2022-09-10 08:23:46

在main.cpp中实例化一个QSplashScreen对象,加载启动画面,并显示该对象。当主窗口打开后,终结(finis)该对象。


mainwin.h

  1. #ifndef MAINWIN_H  
  2. #define MAINWIN_H  
  3.   
  4. #include <QtGui/QMainWindow>  
  5.   
  6.   
  7. class MainWin : public QMainWindow  
  8. {  
  9.     Q_OBJECT  
  10.   
  11. public:  
  12.     MainWin(QWidget *parent = 0, Qt::WFlags flags = 0);  
  13.     ~MainWin();  
  14.       
  15. private:  
  16.       
  17. };  
  18.   
  19. #endif // MAINWIN_H  

mainwin.cpp

  1. #include "mainwin.h"  
  2. #include <QTextEdit>  
  3. #include <QElapsedTimer>  
  4. #include <QCoreApplication>  
  5.   
  6.   
  7. MainWin::MainWin(QWidget *parent, Qt::WFlags flags)  
  8.     : QMainWindow(parent, flags)  
  9. {  
  10.     setWindowTitle(tr("Splash Screen Example"));  
  11.   
  12.     QTextEdit *edt = new QTextEdit;  
  13.     edt->setText("Splash Screen Example!");  
  14.     setCentralWidget(edt);  
  15.       
  16.     resize(600,450);  
  17.   
  18.   
  19.     QElapsedTimer t;  
  20.     t.start();  
  21.     while(t.elapsed()<1000)  
  22.     QCoreApplication::processEvents();    
  23. }  
  24.   
  25. MainWin::~MainWin()  
  26. {  
  27.   
  28. }  

main.cpp

  1. #include "mainwin.h"  
  2. #include <QtGui/QApplication>  
  3. #include <QPixmap>  
  4. #include <QSplashScreen>  
  5.   
  6. int main(int argc, char *argv[])  
  7. {  
  8.     QApplication a(argc, argv);  
  9.   
  10.     QPixmap pix("images/splash.jpg");  
  11.     QSplashScreen splash(pix);  
  12.     splash.show();  
  13.     a.processEvents();  
  14.   
  15.     MainWin w;  
  16.     w.show();  
  17.     splash.finish(&w);  
  18.   
  19.     return a.exec();  
  20. }  
作者:韩兆新
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
标签: Qt学习笔记

本文转自韩兆新博客博客园博客,原文链接:http://www.cnblogs.com/hanzhaoxin/archive/2012/11/23/2784903.html,如需转载请自行联系原作者