我想在Mac OSX上显示全屏QDialog。
我试着这样做:
QDialog* d = new QDialog(nullptr, Qt::Window);
d->showFullScreen();
d->activateWindow();
可行,但此对话框会创建新的OSX屏幕:
我试着这样做:
QDialog* d = new QDialog(nullptr, Qt::SplashScreen | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
d->setWindowState(Qt::WindowFullScreen);
d-show();
它不会创建新屏幕,但QDialog显示在OSX Dock和OSX菜单下:
如何解决我的问题?
答案 0 :(得分:1)
您所看到的是OS X的正常行为。如果您想要一个全屏应用程序,没有停靠栏和菜单栏,则可以使用单独的桌面屏幕(空格)。
另一种方法是最大化对话框的大小并将停靠栏设置为隐藏,但您仍然会在顶部留下菜单,并且更改用户对停靠栏显示方式的偏好不是一个好用户经验。