首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT5.3全屏问题

QT5.3全屏问题
EN

Stack Overflow用户
提问于 2014-10-23 16:26:33
回答 1查看 1K关注 0票数 2

我有一个Qt应用程序,它运行在带有KDE等离子桌面的Ubuntu12.04服务器上。如果我使用QT4.8进行编译,那么全屏就会像预期的那样工作。在Qt5.3中,窗口越来越大,超过了可用的分辨率。如果我使用以下代码设置分辨率,它就能工作。

代码语言:javascript
复制
QSize sz(QApplication::desktop()->size());
main_window->setFixedSize(sz.width() + 1, sz.height() + 1);
main_window->showFullScreen();

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

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-10-24 08:37:22

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

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

代码语言:javascript
复制
QDesktopWidget * screen = QApplication::desktop(); 
screen->availableGeometry();

正如有关availableGeometry的文档中所述

返回具有索引屏幕的屏幕的可用几何形状。可用的将是基于平台确定的可用(例如,不包括Mac上的停靠条和菜单栏,或者不包括screenGeometry上的任务栏)的screenGeometry()。如果屏幕为-1,则使用默认屏幕。

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

对于QGuiApplication所关心的问题,可以使用QScreen

代码语言:javascript
复制
QScreen * screen = QGuiApplication::primaryScreen();
screen->availableGeometry();

最后,在QML中,可以(也是最好的)使用Screen对象,它提供了Screen.desktopAvailableWidthScreen.desktopAvailableHeight,这确保了在不同版本的Android中进行适当的调整。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26532790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档