Qt5 获取多屏幕分辨率以及屏幕缩放比例DPI适配

本文分享了在Qt开发中获取多显示器屏幕分辨率及DPI的实用代码,包括如何遍历所有连接的显示器并读取其分辨率,以及如何获取主屏幕和特定窗口所在屏幕的缩放比例,为开发者提供便捷的参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在开发qt相关,将需要的东西记录下来,可以给后来的开发人员做参考,同时也是给自己做一个备忘,有什么问题大家可以多多交流.

1、获取多个显示器屏幕分辨率

#include <QScreen>
#include <QGuiApplication>
#include <QList>

// 获取多显示器,通过list存储当前主机所有显示器
QList<QScreen *> list_screen = QGuiApplication::screens();

// 通过循环可以遍历每个显示器
for (int i = 0; i < list_screen.size(); i++)
{
	QRect rect = list_screen.at(i)->geometry();
	int desktop_width = rect.width();
	int desktop_height = rect.height();
	// 打印屏幕分辨率
	qDebug() << desktop_width <<desktop_height;
}

2、获取主屏幕的缩放比例

// 除以96之后即可转换成dpi的数值,以2k屏幕为例,Windows默认dpi是125%,这里的值就是:1.25
double dpi  = QGuiApplication::primaryScreen()->logicalDotsPerInch() / 96;

3、获取窗口所在屏幕的缩放比例

double dpi = this->screen()->logicalDotsPerInch() / 96;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值