QMessageBox 不关闭阻塞
时间: 2023-12-04 18:09:07 浏览: 318
QMessageBox可以通过调用exec()方法来实现阻塞,该方法会阻塞代码的执行,直到用户关闭对话框为止。如果你希望QMessageBox不关闭阻塞,可以使用无限循环的方式来实现。你可以在exec()之后的代码中添加一个while循环,判断对话框是否关闭,如果没有关闭,则继续执行循环体内的代码。当用户关闭对话框时,循环结束,代码继续执行。下面是一个示例代码实现:
```cpp
QMessageBox msgBox;
msgBox.setText("This is a message box.");
msgBox.exec();
while (msgBox.isOpen()) {
// 循环体内的代码会一直执行,直到对话框关闭
// 可以在这里添加需要执行的代码
}
```
这样,QMessageBox将会一直保持阻塞状态,直到用户关闭对话框。你可以在循环体内添加需要执行的代码,或者等待用户做出其他操作。请注意,这种方式可能会导致程序无响应,因此建议在合适的时机添加合适的条件来跳出循环。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文