Qt OSX全屏窗口上部菜单栏和Dock

时间:2016-04-15 22:44:30

标签: c++ macos qt

Qt5.6,OS X El Capitan。我有一个问题,我需要在屏幕上选择一个区域来截取屏幕截图,但是菜单栏和底座总是在我的窗口上。

我的代码:

QScreen *screen = QGuiApplication::primaryScreen();
QRect desktop = screen->virtualGeometry();

region = new SelectRegion;

region->setGeometry(desktop);
region->show();
region->focusWidget();
region->activateWindow();
region->raise();

Region Window有标志:Qt :: Window,Qt :: FramelessWindowHint,Qt :: WindowStaysOnTopHint。

如何将窗口移到顶部?

enter image description here

2 个答案:

答案 0 :(得分:1)

Qt::WindowFlags windowFlags =
        Qt::WindowStaysOnTopHint |
        Qt::BypassWindowManagerHint |
        Qt::FramelessWindowHint |
        Qt::NoDropShadowWindowHint |
        Qt::ToolTip;

setWindowFlags(windowFlags);

应该这样做......

答案 1 :(得分:0)

标志Qt :: Popup以及将其大小设置为屏幕的大小应该可以做到这一点,但请注意,它可能会破坏键盘焦点。