今天遇到的一个bug,记录一下。
大概就是再使用QMainWindow::showFullScreen的时候,虽然全屏显示,但是屏幕不断闪烁,而且无法显示菜单栏下拉框。
解决方法如下:
重写showEvent方法:
void MainWindow::showEvent(QShowEvent * e)
{
QWidget::showEvent(e);
QWindowsWindowFunctions::setHasBorderInFullScreen(this->windowHandle(), true);
}
然后调用的时候这样调用:
QRect rect = QApplication::desktop()->screenGeometry();
getMainWindow()->setGeometry(0, 0, rect.width(), rect.height());
getMainWindow()->showFullScreen();
结果就是全屏显示的时候加了一个小边框,但是不再闪烁了。