如何设置QWidget全屏(但“真实”全屏,更改分辨率,将模态设置为整个系统)?

时间:2012-02-23 12:21:20

标签: c++ qt fullscreen resolution qwidget

我正在尝试使用Qt制作游戏,因为它太棒了;)而且你拥有免费所需的所有东西。唯一的问题是更改系统分辨率和设置QWidget(或QGLWidget)“真实”全屏。

有没有人设法做过这样的事情?这种方法的可移植性如何?我想在所有桌面系统上部署我的应用程序。

也许使用SDL或类似SMFL的东西来全屏?

请分享你的黑客!

干杯。

3 个答案:

答案 0 :(得分:8)

此...

my_widget->setWindowState(Qt::WindowFullScreen);

...让您的小部件达到全屏分辨率。这不是你需要的吗?

修改 或者,您可以拨打广告位showFullScreen

编辑2:

  1. WIN API
    1. EnumDisplaySettings
    2. ChangeDisplaySettings
    3. Detailed information
  2. X11
    1. 我不熟悉这个,你可以问一个关于如何更改屏幕分辨率的新问题
  3. 苹果
    1. 与X11相同

答案 1 :(得分:2)

首先你必须设置相应的窗口标志来制作你的小部件模态,并且还要摆脱窗口管理器框架,这样才能真正全屏

widget->setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint);

之后,就像Exa所说的那样召唤widget->showFullScreen();

答案 2 :(得分:0)

全屏:

topwidget->setWindowState(topwidget->windowState() ^ Qt::Window);