如何在OSX Dock和OSX菜单上显示QDialog窗口?

时间:2015-04-17 12:52:23

标签: macos qt

我想在Mac OSX上显示全屏QDialog。

我试着这样做:

QDialog* d = new QDialog(nullptr, Qt::Window);
d->showFullScreen();
d->activateWindow();

可行,但此对话框会创建新的OSX屏幕:

I don't want this

我试着这样做:

QDialog* d = new QDialog(nullptr, Qt::SplashScreen | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
d->setWindowState(Qt::WindowFullScreen);
d-show();

它不会创建新屏幕,但QDialog显示在OSX Dock和OSX菜单下:

enter image description here

如何解决我的问题?

1 个答案:

答案 0 :(得分:1)

您所看到的是OS X的正常行为。如果您想要一个全屏应用程序,没有停靠栏和菜单栏,则可以使用单独的桌面屏幕(空格)。

另一种方法是最大化对话框的大小并将停靠栏设置为隐藏,但您仍然会在顶部留下菜单,并且更改用户对停靠栏显示方式的偏好不是一个好用户经验。