qt 获取dpi_Qt 对高 DPI 显示器的支持简介

本文介绍了高 DPI 显示器的概念及其在应用程序中可能遇到的问题,特别是针对Qt框架。Qt提供了对高 DPI 的支持,包括设备无关的像素坐标系和自动缩放功能。在macOS和iOS上,高 DPI 支持由操作系统原生实现,而在Windows上,可以通过调整DPI Awareness级别来适应。文章还提到了Qt 5.6及以后版本中的各种环境变量和应用程序属性,以帮助开发者实现跨平台的高 DPI 缩放。最后,建议开发者遵循最佳实践来优化高 DPI 应用程序,如使用QPainter的qreal版本和避免硬编码尺寸。
摘要由CSDN通过智能技术生成

高 DPI 显示器

高 DPI 显示器是与标准 DPI 显示器相比具有增加的像素密度的显示器。

该像素密度以每英寸点数(DPI)或每英寸像素数(PPI)测量,并且由显示像素的数量和物理尺寸确定。这意味着仅凭像素数量不足以确定显示器是否属于高 DPI 类别。

4K 显示器具有固定数量的像素(约 8M),然而其 DPI 在 185(23英寸)和 110(40英寸) 之间变化。前者是大约 2x 标准的 96 DPI 桌面分辨率,而后者几乎没有超过它。

高 DPI 存在的问题

高 DPI 显示器会对现有应用程序造成许多问题:

使用固定坐标的 UI 设计的应用程序看起来很小。 Text 大小以点大小设置和但是其他属性尺寸使用像素设置的组合是特别有问题的,因为点大小是与显示器的分辨率无关的。这种情况下,在低 DPI 显示屏上看起来正确的字符串的范围可能在高 DPI 显示屏上变得太小,因此导致文本被剪切而显示不全。

应用程序必须适应用户具有不同分辨率的多个显示器的情况。 例如,他们可能会使用 4K 显示器作为图像编辑器的文档窗口,同时使用一个低分辨率显示器作为其他工具的显示窗口。

支持高 DPI 的传统方法是 Qt 自动缩放字体,然后提供应用程序代码可用于扩展 UI 的其余部分的 DPI 值。

Qt 高 DPI 支持概述

Qt 支持高 DPI 模式,主坐标系虚拟化,独立于显示像素密度。这种模式是由某些操作系统(macOS,iOS)实现的。此外,Qt 包含一个可能在缺少操作系统支持的地方使用的实现。

现在 Geometry 在设备无关的像素中指定。这包括 widget 和 item geometry,event geometry,desktop, window 和 screen geometry 以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值