2015-04-17 59 views
0

我想在Mac OSX上显示全屏QDialog。如何通过OSX Dock和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

如何解决我的问题?

+0

你有没有试过提高窗户? –

回答

1

你所看到的是OS X的正常行为。如果你想要一个全屏应用程序,没有dock和菜单栏,那么有一个单独的桌面屏幕(空格)是可接受的方法。

另一种方法是最大化对话框的大小并将底座设置为隐藏,但仍留在顶部的菜单并更改用户对底座显示方式的偏好不是好用户体验。

+0

这不是事实。例如:Joxi应用程序:它在Qt上工作,并在同一屏幕上显示菜单和停靠面板上的对话框:http://joxi.ru/V2VY6EYUejXQmv(在根屏幕上:http://joxi.ru/DrlpKRpsElzPrP) – fhdnsYa

+0

@fhdnsYa我甚至不明白你想要什么。在你提到的两个例子中,菜单和dock都可以在应用程序后面看到。 –