由于windows上的任务栏导致QMainWindow全屏问题
我正在尝试制作一个全屏窗口(不仅仅是最大化窗口) 如果任务栏设置为自动隐藏,则在Linux(在Ubuntu 16上测试)和windows(在windows 10上工作)上都可以正常工作。如果任务栏未设置为自动隐藏,则在全屏模式下,将在任务栏的位置显示一个白色矩形条。我假设一个全屏窗口应该能够隐藏任务栏,但在这种情况下它不会发生 我已经尝试过以下变通方法,但没有一种对我有效:由于windows上的任务栏导致QMainWindow全屏问题,windows,qt,qwidget,qmainwindow,Windows,Qt,Qwidget,Qmainwindow,我正在尝试制作一个全屏窗口(不仅仅是最大化窗口) 如果任务栏设置为自动隐藏,则在Linux(在Ubuntu 16上测试)和windows(在windows 10上工作)上都可以正常工作。如果任务栏未设置为自动隐藏,则在全屏模式下,将在任务栏的位置显示一个白色矩形条。我假设一个全屏窗口应该能够隐藏任务栏,但在这种情况下它不会发生 我已经尝试过以下变通方法,但没有一种对我有效: QTimer::singleShot(1000, mainWindow, SLOT(showFullScreen()));
QTimer::singleShot(1000, mainWindow, SLOT(showFullScreen()));
mainWindow->setWindowState(mainWindow->windowState() ^ Qt::WindowFullScreen);
mainWindow->setWindowState(mainWindow->windowState() & ~Qt::WindowFullScreen);
mainWindow->repaint();
qApp->processEvents();
mainWindow->setGeometry(qApp->desktop()->availableGeometry());
mainWindow->updateGeometry();
是否有其他方法使QMainWindow/QWidget全屏显示,或者我需要显式隐藏任务栏?我尝试了mainWindow->showFullScreen();它正在按你的愿望工作。它覆盖了所有区域,包括windows 10上的任务栏。@Sourabh如果任务栏未设置为自动隐藏,它对我不起作用。底部的任务栏出现了一个白色的条带。我也有这个问题<代码>主窗口->showFullScreen()不会使应用程序在任务栏上呈现。你解决过吗?没关系,我必须使用任务管理器重新启动explorer.exe,现在它可以正常工作了;它正在按你的愿望工作。它覆盖了所有区域,包括windows 10上的任务栏。@Sourabh如果任务栏未设置为自动隐藏,它对我不起作用。底部的任务栏出现了一个白色的条带。我也有这个问题<代码>主窗口->showFullScreen()不会使应用程序在任务栏上呈现。你解决过吗?没关系,我必须用任务管理器重新启动explorer.exe,现在它可以正常工作了。
QTimer::singleShot(1000, mainWindow, SLOT(showFullScreen()));
mainWindow->setWindowState(mainWindow->windowState() ^ Qt::WindowFullScreen);
mainWindow->setWindowState(mainWindow->windowState() & ~Qt::WindowFullScreen);
mainWindow->repaint();
qApp->processEvents();
mainWindow->setGeometry(qApp->desktop()->availableGeometry());
mainWindow->updateGeometry();