Qt学习——进度条QProgressBar/QProgressDialog类 .

 

两种进度条显示:

QProgressBar和QProgressDialog

下面例子展示两种进度条:

     

代码:

头文件dialog.h中:

view plain copy to clipboard print ?
  1. #include    
  2. #include    
  3. #include    
  4. #include    
  5. #include    
  6. #include    
  7. #include    
  8. class Dialog : public QDialog  
  9. {  
  10.     Q_OBJECT  
  11.   
  12. public:  
  13.     Dialog(QWidget *parent = 0);  
  14.     ~Dialog();  
  15. private slots:  
  16.     void startProgress();  
  17. private:  
  18.     QLabel *FileNum;  
  19.     QLineEdit *FileNumLineEdit;  
  20.     QLabel *ProgressType;  
  21.     QComboBox *comboBox;  
  22.     QProgressBar *progressBar;  
  23.     QPushButton *startBtn;  
  24.     QGridLayout *mainLayout;  
  25. };  
#include #include #include #include #include #include #include class Dialog : public QDialog { Q_OBJECT public: Dialog(QWidget *parent = 0); ~Dialog(); private slots: void startProgress(); private: QLabel *FileNum; QLineEdit *FileNumLineEdit; QLabel *ProgressType; QComboBox *comboBox; QProgressBar *progressBar; QPushButton *startBtn; QGridLayout *mainLayout; };
源文件:

view plain copy to clipboard print ?
  1. #include "dialog.h"   
  2. #include    
  3. #include    
  4.   
  5. Dialog::Dialog(QWidget *parent)  
  6.     : QDialog(parent)  
  7. {  
  8.     setWindowTitle(tr("Progress"));  
  9.   
  10.     FileNum=new QLabel;  
  11.     FileNum->setText(tr("文件数目:"));  
  12.     FileNumLineEdit=new QLineEdit;  
  13.     FileNumLineEdit->setText(tr("10000"));  
  14.   
  15.     ProgressType=new QLabel;  
  16.     ProgressType->setText(tr("显示类型:"));  
  17.     comboBox=new QComboBox;  
  18.     comboBox->addItem(tr("progressBar"));  
  19.     comboBox->addItem(tr("progressDialog"));  
  20.   
  21.     progressBar=new QProgressBar;  
  22.   
  23.     startBtn=new QPushButton;  
  24.     startBtn->setText(tr("开始"));  
  25.   
  26.     mainLayout=new QGridLayout(this);  
  27.     mainLayout->addWidget(FileNum,0,0);  
  28.     mainLayout->addWidget(FileNumLineEdit,0,1);  
  29.     mainLayout->addWidget(ProgressType,1,0);  
  30.     mainLayout->addWidget(comboBox,1,1);  
  31.     mainLayout->addWidget(progressBar,2,0,1,2);  
  32.     mainLayout->addWidget(startBtn,3,1);  
  33.     mainLayout->setMargin(15);  
  34.     mainLayout->setSpacing(10);  
  35.   
  36.     connect(startBtn,SIGNAL(clicked()),this,SLOT(startProgress()));  
  37. }  
#include "dialog.h" #include #include Dialog::Dialog(QWidget *parent) : QDialog(parent) { setWindowTitle(tr("Progress")); FileNum=new QLabel; FileNum->setText(tr("文件数目:")); FileNumLineEdit=new QLineEdit; FileNumLineEdit->setText(tr("10000")); ProgressType=new QLabel; ProgressType->setText(tr("显示类型:")); comboBox=new QComboBox; comboBox->addItem(tr("progressBar")); comboBox->addItem(tr("progressDialog")); progressBar=new QProgressBar; startBtn=new QPushButton; startBtn->setText(tr("开始")); mainLayout=new QGridLayout(this); mainLayout->addWidget(FileNum,0,0); mainLayout->addWidget(FileNumLineEdit,0,1); mainLayout->addWidget(ProgressType,1,0); mainLayout->addWidget(comboBox,1,1); mainLayout->addWidget(progressBar,2,0,1,2); mainLayout->addWidget(startBtn,3,1); mainLayout->setMargin(15); mainLayout->setSpacing(10); connect(startBtn,SIGNAL(clicked()),this,SLOT(startProgress())); }
main函数添加显示中文的代码:

view plain copy to clipboard print ?
  1. #include    
  2. #include "dialog.h"   
  3. #include    
  4. int main(int argc, char *argv[])  
  5. {  
  6.     QApplication a(argc, argv);  
  7.     QTextCodec::setCodecForTr(QTextCodec::codecForLocale());  
  8.     Dialog w;  
  9.     w.show();  
  10.   
  11.     return a.exec();  
  12. }  

你可能感兴趣的:(windowsQT4)