我目前正在使用静态调用的QMessageBox::critical()
消息框,我真的需要它来保持所有窗口的顶部。有人知道如何实现它吗?
只需要QMessageBox
的静态版本。
提前致谢。
答案 0 :(得分:0)
使用静态方法QMessageBox::critical()
,这是不可能的。
您必须使用非静态版本,因此您可以修改窗口标志:
QMessageBox dlg(QMessageBox::Critical, tr("YourTitle"), tr("YourErrorMessage"));
dlg.setWindowFlags(dlg.windowFlags() | Qt::WindowStaysOnTopHint);
dlg.exec();
请注意,仍然无法保证窗口管理器确实应用此设置。 (这就是为什么它被称为提示)
<强>可是... 强> 在我看来你不应该这样做 - 没有应用程序(除了操作系统本身)应该认为自己那么重要...... 对于您的用户来说,这可能非常烦人,所以只有在您的错误情况下继续使用整个系统是不可能或危险的。