QT 进度条QProgressBar

版权声明:欢迎大佬们指点 https://blog.csdn.net/bloke_come/article/details/82761961

1、进度对话框的使用方法有两种:模态方法和非模态方法。

模态方式的使用比较简单,但必须使用processEvent()使事件循环保持正常进行状态,保证不会堵塞。
非模态方式,需要通过QTime实现定时设置进度条的值。

2、标准进度条

包含一个进度显示条、一个取消按钮和一个标签

Process方式

m_ProgressBatLevel = new QProgressBar(this);
m_ProgressBatLevel->setOrientation(Qt::Horizontal);						// 显示方向 Horizontal 水平 Vertical 垂直
m_ProgressBatLevel->setFixedWidth(350);
m_ProgressBatLevel->setMinimum(56);
m_ProgressBatLevel->setMaximum(70);
m_ProgressBatLevel->setValue(70);
m_ProgressBatLevel->setStyleSheet(" QProgressBar{ border: none; color: white; text-align: center; background: rgb(68, 69, 73); }"
		" QProgressBar::chunk{border: none;background: rgb(0, 160, 230);}");
double dProgress = (m_ProgressBatLevel->value() - m_ProgressBatLevel->minimum()) * 100.0
		/ (m_ProgressBatLevel->maximum() - m_ProgressBatLevel->minimum());
m_ProgressBatLevel->setFormat(QString::fromLocal8Bit("%1%").arg(QString::number(dProgress, 'f', 1)));//  设置当前进度条状态
m_ProgressBatLevel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);                                                       //  对齐方式
//m_ProgressBatLevel->setInvertedAppearance(true);                                                                                  //  反方向

QProgressDialog 方式

//创建一个进度对话框
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;
}

猜你喜欢

转载自blog.csdn.net/bloke_come/article/details/82761961
今日推荐