QT 等待對話方塊/進度

pamxy發表於2013-07-30

轉自:http://blog.csdn.net/wangwei890702/article/details/8590392

用QT的,載入的一張gif圖片。記錄下來以後免得忘記。

  1. #ifndef DIALOG_H  
  2. #define DIALOG_H  
  3.   
  4. #include <QDialog>  
  5. #include <QLabel>  
  6. #include<QPainter>  
  7. #include<QMovie>  
  8.   
  9. class Dialog : public QDialog  
  10. {  
  11.     Q_OBJECT  
  12.   
  13. public:  
  14.     explicit Dialog(QWidget *parent = 0);  
  15.     ~Dialog();  
  16.   
  17. private:  
  18.     QMovie *movie;  
  19.     QLabel *label;  
  20. };  
  21.   
  22. #endif // DIALOG_H  

  1. #include"dialog.h"  
  2.   
  3. Dialog::Dialog(QWidget*parent):  
  4.     QDialog(parent)  
  5. {  
  6.     label = new QLabel(this);  
  7.     this->setFixedSize(200,200);  
  8.     setWindowOpacity(0.5);  //設定透明用;  
  9.     this->setWindowFlags(Qt::Dialog|Qt::CustomizeWindowHint);  
  10.   
  11.     //取消對話方塊標題  
  12.     //this->setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint);  
  13.   
  14.     //取消對話方塊標題和邊框  
  15.     //this->setAutoFillBackground(true);  
  16.     this->setContentsMargins(0,0,0,0);  
  17.     label->setContentsMargins(0,0,0,0);  
  18.     /*QPalettepalette;palette.setBrush(QPalette::Background,QBrush(QPixmap("E:/qml/imgdialog/loading.gif"))); 
  19.     this->setPalette(palette)*/;  
  20.     movie = new QMovie("loading.gif");  
  21.     label->setMovie(movie);  
  22.     movie->start();  
  23. }  
  24. Dialog::~Dialog()  
  25. {  
  26.     delete label;  
  27.     delete movie;  
  28. }  


效果:

loading.gif


相關文章