QProgressDialog简介
QProgressDialog是Qt中的一种进度对话框,用于显示长时间运行的操作的进度。它提供了一个简单易用的界面,可以显示进度条、文本和取消按钮等控件。
QProgressDialog的使用非常简单,只需要调用它的setRange()方法设置进度条的范围,然后使用setValue()方法设置当前的进度值即可。在长时间运行的操作中,可以在需要更新进度时调用setValue()方法更新进度条的进度。
除了进度条外,QProgressDialog还提供了一些其他的功能。例如,可以在对话框中显示文本消息,以告诉用户正在进行的操作是什么。还可以在对话框中显示一个取消按钮,以便用户在需要时可以取消操作。
等待条调用处
//提示信息,取消按钮文字,最小值,最大值及父类
QProgressDialog progressDialog("正在导入人员信息...", "取消", 0, m_worker.students().size(),this);
//隐藏windows自带的按钮
progressDialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
//模态窗口
progressDialog.setWindowModality(Qt::WindowModal);
progressDialog.setMinimumDuration(0);
progressDialog.setAutoReset(false);
progressDialog.setAutoClose(false);
//隐藏取消按钮
progressDialog.setCancelButton(NULL);
progressDialog.show();
QString backInfos;
insertNewDatas(backInfos,&progressDialog);
progressDialog.close();
数据处理处:
bool insertNewDatas(QString& backInfo,QProgressDialog* dialog)
{
int i=0;
for(auto student:m_students)
{
i++;
//设置显示的值
dialog->setValue(i);
}
}