Qt OSX全屏窗口上部menuBar和Dock
Posted
技术标签:
【中文标题】Qt OSX全屏窗口上部menuBar和Dock【英文标题】:Qt OSX fullscreen window upper menuBar and Dock 【发布时间】:2016-04-15 22:44:29 【问题描述】:Qt5.6,OS X El Capitan。我有一个问题,我需要在屏幕上选择一个区域来截屏,但菜单栏和 Dock 总是在我的窗口上。
我的代码:
QScreen *screen = QGuiApplication::primaryScreen();
QRect desktop = screen->virtualGeometry();
region = new SelectRegion;
region->setGeometry(desktop);
region->show();
region->focusWidget();
region->activateWindow();
region->raise();
区域窗口有标志:Qt::Window、Qt::FramelessWindowHint、Qt::WindowStaysOnTopHint。
如何将我的窗口移到顶部?
【问题讨论】:
【参考方案1】:Qt::WindowFlags windowFlags =
Qt::WindowStaysOnTopHint |
Qt::BypassWindowManagerHint |
Qt::FramelessWindowHint |
Qt::NoDropShadowWindowHint |
Qt::ToolTip;
setWindowFlags(windowFlags);
应该这样做......
【讨论】:
【参考方案2】:标志 Qt::Popup 以及将其大小设置为屏幕大小应该可以解决问题,但请注意,它可能会破坏键盘焦点。
【讨论】:
以上是关于Qt OSX全屏窗口上部menuBar和Dock的主要内容,如果未能解决你的问题,请参考以下文章
解决Mac下窗口无法最大化的问题 - 只有最小化和全屏怎么够
解决Mac下窗口无法最大化的问题 - 只有最小化和全屏怎么够