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

发布于 2025-01-08 05:01:30 字数 218 浏览 6 评论 0 原文

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

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

也许使用 SDL 或类似 SMFL 之类的东西使其全屏显示?

请分享您的技巧!

干杯。

I'm trying to make a game using Qt, cause it is so awesome ;) and you have all the stuff you need for free. The only problem is in changing system resolution and setting QWidget (or QGLWidget) "real" fullscreen.

Have any one of you managed to do something like this? How was the portability of such approach? I'd like to deploy my app on all desktop systems.

Maybe use SDL or something like SMFL to make it fullscreen?

Pls, share your hacks!

Cheers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

晨敛清荷 2025-01-15 05:01:30

这......

my_widget->setWindowState(Qt::WindowFullScreen);

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

编辑:
或者,您可以调用插槽 showFullScreen

编辑2:

  1. WIN API
  2. EnumDisplaySettings
  3. 更改显示设置
  4. 详细信息
  5. X11
  6. 我对此不熟悉,您可以在此处提出有关如何更改屏幕分辨率的新问题
  7. Mac
  8. 与 X11 相同
  9. 相同

This...

my_widget->setWindowState(Qt::WindowFullScreen);

... brings your widget to a full screen resolution. Isn't that what you need?

Edit:
Alternatively you can call the slot showFullScreen.

Edit 2:

  1. WIN API
    1. EnumDisplaySettings
    2. ChangeDisplaySettings
    3. Detailed information
  2. X11
    1. I'm not familiar with this, you could ask a new question regarding how to change the screen resolution here
  3. Mac
    1. Same as X11
幻想少年梦 2025-01-15 05:01:30

首先,您必须设置相应的窗口标志以使您的小部件模式化,并摆脱窗口管理器框架,使其成为真正的全屏

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

然后调用 widget->showFullScreen(); 正如 Exa 所说。

First you have to set corresponding window flags to make your widget modal, and also get rid of the window manager frame so it will be true fullscreen

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

and after that call widget->showFullScreen(); as Exa said.

你穿错了嫁妆 2025-01-15 05:01:30

全屏:

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

Fullscreen:

topwidget->setWindowState(topwidget->windowState() ^ Qt::Window);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文