问题描述
当窗口带有QOpenGLWidget并以全屏模式显示时,作为应用程序一部分的其他顶级窗口可能会出现问题。使其他顶级窗口在显示时不会置于全屏窗口的顶部。例如,菜单可能无法正确显示,或者对话框无法显示。
通俗来说,就是当这个窗口全屏后,其他应该出现在顶层的窗口都显示不出来了,比如菜单或其他弹窗。
解决方法
在窗口全屏前调用:
QWindowsWindowFunctions::setHasBorderInFullScreen(p_wnd->windowHandle(), true);
这使得窗口在全屏后产生一个边框,造成一种“伪全屏”的状态,从而避开这个bug。
这是 官方说明链接。