设置qprogressDialog为模态
时间: 2024-10-25 21:07:39 浏览: 15
QProgressDialog基础、高级和样式表使用示例代码
5星 · 资源好评率100%
在Qt中,`QProgressDialog`是一个用于显示进度指示器的对话框,它通常是模态的,这意味着用户只能与对话框交互,直到其完成或被显式关闭。如果你想让`QProgressDialog`变为模态,你可以直接创建它并设置为阻塞模式(`setModal(true)`或`exec()`方法)。这里有一个简单的例子:
```cpp
QProgressDialog progress("正在加载", "取消", 0, 100, this); // 进度条标题、取消按钮文字、初始值、最大值和父窗口
progress.setWindowModality(Qt::WindowModal); // 设置对话框为模态
// 执行耗时任务
for (int i = 0; i <= 100; ++i) {
progress.setValue(i); // 更新进度
QApplication::processEvents(); // 让主线程响应事件,更新界面
sleep(1); // 模拟耗时操作
}
// 当任务完成后,确保关闭进度条
progress.setValue(100);
progress.accept(); // 或者 progress.close()来关闭
```
在这个例子中,用户不能在此期间点击其他窗口或执行其他的UI交互,直到进度达到100%。
阅读全文