QT 在没有扩展显示器的情况下获得屏幕分辨率

Posted

技术标签:

【中文标题】QT 在没有扩展显示器的情况下获得屏幕分辨率【英文标题】:QT getting the screen resolution without the extended monitor 【发布时间】:2013-07-27 01:19:08 【问题描述】:
QDesktopWidget desktop;

int desktopHeight=desktop.geometry().height();
int desktopWidth=desktop.geometry().width();
this->resize(desktopWidth,desktopHeight);

例如,我的主显示器分辨率是 1024 x 768,而我的扩展显示器分辨率是 800x600。 我从桌面高度和宽度得到的值是两个显示器分辨率的总和。我只需要获得主显示器的分辨率。有人可以告诉我怎么做吗?谢谢。我正在使用 qt 4.7.3

编辑:我使用的是双屏,尤其是在收银员点餐时,收银员可以看到主显示器,而客户可以看到扩展显示器。

【问题讨论】:

【参考方案1】:

您几乎拥有它,只需将主显示器的屏幕 ID 提供给 geometry() 调用即可。

QDesktopWidget widget;
QRect mainScreenSize = widget.availableGeometry(widget.primaryScreen()); // or screenGeometry(), depending on your needs

【讨论】:

所以我可以通过 mainScreenSize->height() 调用高度和通过 mainScreenSize->width() 调用宽度? 最后关于您的评论,您是在谈论根据我的需要将 availablegeometry 更改为 screengeometry? availableGeometry() 将排除任务栏等占用的空间 在 macbook pro 上测试过,不准确。

以上是关于QT 在没有扩展显示器的情况下获得屏幕分辨率的主要内容,如果未能解决你的问题,请参考以下文章

WinForm C# 获取屏幕真实分辨率

WinForm C# 获取屏幕真实分辨率

WinForm C# 获取屏幕真实分辨率

如何在qt中检测屏幕分辨率?

电脑屏幕太小,qt等部分软件无法全部显示怎么办?急急急!求指教!

QT软件弹出的对话框界面很大,超出电脑屏幕显示范围怎么办?