应用程序查看器setfullscreen功能不隐藏ubuntu侧边栏

时间:2016-01-19 07:07:01

标签: qt ubuntu qml fullscreen ubuntu-unity

我正在为Ubuntu Linux使用Qt和QML构建应用程序的UI。我有一个带有canvas元素的查看器窗口,默认情况下它应该是全屏的。在打开应用程序时,这工作正常(即隐藏Ubuntu侧边栏和顶部任务栏)。但是,一旦我最小化我的应用程序然后使用viewer->setFullScreen();再次最大化它,Ubuntu侧边栏和顶部任务栏仍然可见,并且由于相同的原因在画布上写入时存在偏移量。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

根据this topic on askubuntu,您的问题确实看起来像Unity bug(或功能)。但是,根据Launchpad上的某种相关错误,您似乎可以通过以下方式获得所需的行为:

  

在全屏显示之前,右键单击窗口的标题栏,打开“Always On Top”。   当使用其他屏幕时,这将阻止Unity面板在此全屏窗口上呈现。

在Qt中,您可以通过QWidget::windowFlagsQt::WindowStaysOnTopHint设置为您的窗口/小部件。

另外注意官方文档中的注释:

  • 此函数在更改窗口标志时调用setParent(),导致窗口小部件被隐藏。您必须致电show()以再次显示小部件。
  • 关于Qt::WindowStaysOnTopHint - 通知窗口系统窗口应该保持在所有其他窗口之上。请注意,在X11上的某些窗口管理器上,您还必须通过Qt::X11BypassWindowManagerHint才能使此标志正常工作。

希望这有帮助。