feisky

云计算、虚拟化与Linux技术笔记
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

QT进度条

Posted on 2010-06-17 16:48  feisky  阅读(8855)  评论(0编辑  收藏  举报

 

在QT中可以用QProgressBar或着QProgressDialog来实现进度条。

 

 

QProgressBar的使用

 

首先在designer中拖一个按钮和进度条部件,按下面初始化

ui->progressBar->setRange(0,50000-1);				

   ui->progressBar->setValue(0);

 

按钮的事件处理:

void MainWindow::on_pushButton_clicked()
{
    for(int i=0;i<50000;i++)
    {
        for(int j=0;j<20000;j++);
        ui->progressBar->setValue(i);
    }
}


这样就可以显示进度条了,自动那个计算百分比,并显示

 

QProgressDialog的使用方法

 

而用QProcessDialog也是类似的,只不过这是以对话框形式显示;并且它还提供了一个取消按钮,用来取消操作。QProcessDialog会自动那个计算百分比,并显示。

void MainWindow::on_pushButton_clicked()
{
    QProgressDialog process(this);
    process.setLabelText(tr("processing..."));
    process.setRange(0,50000);
    process.setModal(true);
    process.setCancelButtonText(tr("cancel"));

    for(int i=0;i<50000;i++)
    {
        for(int j=0;j<20000;j++);
        process.setValue(i);
        if(process.wasCanceled())
            break;
    }
}

 

无觅相关文章插件,快速提升流量