版权声明:本文为博主原创文章,未经博主允许不得转载,博客地址:http://blog.csdn.net/mars_xiaolei。 https://blog.csdn.net/mars_xiaolei/article/details/83545500
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QLabel>
#include <QLineEdit>
#include <QProgressBar>
#include <QComboBox>
#include <QPushButton>
#include <QGridLayout>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void startProgress();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFont>
#include <QProgressDialog>//进度条对话框
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QFont font("ZYSong18030",12);
setFont(font);
setWindowTitle(tr("Progress"));
ui->FileNum->setText(tr("文件数目:"));
ui->FileNumLineEdit->setText(tr("100000"));
ui->ProgressType->setText(tr("显示类型:"));
ui->comboBox->addItem(tr("progressBar"));
ui->comboBox->addItem(tr("progressDialog"));
ui->starBtn->setText(tr("开始"));
connect(ui->starBtn,SIGNAL(clicked()),this,SLOT(startProgress()));
}
void MainWindow::startProgress()
{
bool ok;
int num =ui->FileNumLineEdit->text().toInt(&ok);
if(ui->comboBox->currentIndex()==0) //ProgressBar
{
ui->progressBar->setRange(0,num);
for(int i=1;i<num+1;i++)
{
ui->progressBar->setValue(i);
}
}
else if(ui->comboBox->currentIndex()==1) //ProgressDialog
{
QProgressDialog *progressDialog=new QProgressDialog(this);
QFont font("ZYSong18030",12);
progressDialog->setFont(font);
progressDialog->setWindowModality(Qt::WindowModal);
progressDialog->setMinimumDuration(5);
progressDialog->setWindowTitle(tr("Please Wait"));
progressDialog->setLabelText(tr("Copying..."));
progressDialog->setCancelButtonText(tr("Cancel"));
progressDialog->setRange(0,num);
for(int i=1;i<num+1;i++)
{
progressDialog->setValue(i);
if(progressDialog->wasCanceled())
return;
}
}
}
MainWindow::~MainWindow()
{
delete ui;
}
结果显示
完整代码链接:https://pan.baidu.com/s/15Ik-HHu1FNK1FMWDlTwICg
提取码:hrgy