Qt学习——进度条QProgressBar/QProgressDialog类
来源:互联网 发布:软件系统维护手册 编辑:程序博客网 时间:2024/06/06 09:07
两种进度条显示:
QProgressBar和QProgressDialog
下面例子展示两种进度条:
代码:
头文件dialog.h中:
- #include <QtGui/QDialog>
- #include <QLabel>
- #include <QLineEdit>
- #include <QProgressBar>
- #include <QComboBox>
- #include <QPushButton>
- #include <QGridLayout>
- 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;
- };
源文件:
- #include "dialog.h"
- #include <QProgressDialog>
- #include <QFont>
- 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()))
- }
- void Dialog::startProgress()
- {
- bool ok;
- int num=FileNumLineEdit->text().toInt(&ok);
- if(!ok)
- return;
- if(comboBox->currentIndex()==0)
- {
- progressBar->setRange(0,num);
- for(int i=1;i<=num;i++)
- {
- progressBar->setValue(i);
- }
- }
- else if(comboBox->currentIndex()==1)
- {
- QProgressDialog *progressDlg=new QProgressDialog(this);
- QFont font("ZYSong18030",12);
- progressDlg->setFont(font);
- progressDlg->setWindowModality(Qt::WindowModal);
- progressDlg->setMinimumDuration(5);
- progressDlg->setWindowTitle(tr("please wait"));
- progressDlg->setLabelText(tr("正在复制...... "));
- progressDlg->setCancelButtonText(tr("取消"));
- progressDlg->setRange(0,num);
- for(int i=1;i<=num;i++)
- {
- progressDlg->setValue(i);
- if(progressDlg->wasCanceled())
- return;
- }
- }
- }
main函数添加显示中文的代码:
- #include <QtGui/QApplication>
- #include "dialog.h"
- #include <QTextCodec>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
- Dialog w;
- w.show();
- return a.exec();
- }
0 0
- Qt学习——进度条QProgressBar/QProgressDialog类
- Qt学习——进度条QProgressBar/QProgressDialog类 .
- Qt学习——进度条QProgressBar/QProgressDialog类
- 进度条QProgressBar/QProgressDialog类
- QT笔记之进度条QProgressBar和QProgressDialog
- Qt学习11——进度条QProgressBar
- 进度条QProgressBar和QProgressDialog
- Qt-----进度条QProgressBar
- Qt-----进度条QProgressBar
- 进度条,进度条对话框,QProgressBar类
- Qt中如何改变QProgressBar中进度条的颜色
- QT学习------关于QProgressBar控件的使用!
- PyQt5:QProgressBar进度条(26)
- QProgressDialog(进度条)的使用
- qt 之 qprogressbar
- QT自定义QProgressBar
- Qt之QProgressBar
- QProgressBar(进度条)的使用
- win7 x64 vs2010 directShow开发环境配置
- Unique Paths II
- SurfaceView使用详解
- nginx变量使用方法详解(3)
- Material Design(四)
- Qt学习——进度条QProgressBar/QProgressDialog类
- 【Java】StringBuilder、StringBuffer、String 比较
- android studio jni环境搭建
- IOS开发之绝对布局和相对布局(屏幕适配)
- Delphi 快捷键
- SQL设计学习
- Autohotkey读写ini文件内容
- php mysql字符集乱码问题
- spring mvc 拦截器路径问题,只拦截固定后缀