QMessageBox::question 调用的时候设置模态对话框,防止视频窗口闪动
时间: 2024-01-07 19:03:19 浏览: 66
QT基础_31---QMessageBox消息对话框_江南、董少-CSDN博客1
当你调用`QMessageBox::question`时,可以将其设置为模态对话框,以确保它会阻塞程序的执行,并且不会抢占其他窗口的焦点,从而防止视频窗口闪动。
示例代码如下:
```cpp
QMessageBox msgBox;
msgBox.setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint);
msgBox.setText("Are you sure you want to quit?");
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::No);
msgBox.setParent(videoWidget);
msgBox.setModal(true);
msgBox.show();
```
在上面的代码中,首先创建了一个`QMessageBox`对象`msgBox`,然后设置了它的一些属性:将其设置为窗口置顶,去掉窗口边框,设置提示信息和按钮等。接着将其父窗口设置为视频窗口`videoWidget`,并将其设置为模态对话框,最后显示该对话框。
通过将`QMessageBox`设置为模态对话框,可以确保它不会抢占其他窗口的焦点,从而防止视频窗口闪动。
阅读全文