gpt4 book ai didi

c++ - Qt 5.3 全屏问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:52:09 24 4
gpt4 key购买 nike

我有一个 Qt 应用程序,它在带有 KDE 等 ionic 桌面的 Ubuntu 12.04 服务器上运行。如果我使用 Qt 4.8 全屏编译,则按预期工作。对于 Qt 5.3,窗口变得比可用分辨率更大。如果我使用以下代码设置分辨率,它会起作用。

QSize sz(QApplication::desktop()->size());
main_window->setFixedSize(sz.width() + 1, sz.height() + 1);
main_window->showFullScreen();

这是解决这个问题的正确方法吗?

提前致谢。

最佳答案

Qt 在调整应用程序大小方面非常灵活,并为您提供了大量信息(和选项)。

关于 QApplication 的问题,您可以使用 QDesktopWidget

QDesktopWidget * screen = QApplication::desktop(); 
screen->availableGeometry();

如有关 availableGeometry 的文档中所述:

Returns the available geometry of the screen with index screen. What is available will be subrect of screenGeometry() based on what the platform decides is available (for example excludes the dock and menu bar on Mac OS X, or the task bar on Windows). The default screen is used if screen is -1.

阅读 QDesktopWidget 文档中的“主屏幕的使用”部分,了解有关“默认屏幕”和多屏幕的一般处理的详细信息。使用这些方法,您将完全控制您的应用程序的布局方式,即使有多个可用屏幕也是如此。

关于QGuiApplication的问题你可以使用QScreen:

QScreen * screen = QGuiApplication::primaryScreen();
screen->availableGeometry();

最后,在 QML 中,可以(并且建议)使用 Screen 对象,它提供 Screen.desktopAvailableWidthScreen.desktopAvailableHeight 确保使用不同版本的 Android/iOS 适当调整大小。

关于c++ - Qt 5.3 全屏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com