【发布时间】:2020-11-24 10:52:50
【问题描述】:
Qt 小部件的 Width() 和 Height() API 的单位是什么? Qt 文档说 int - 是点还是像素?假设我开发了一些带有许多子小部件的 Qt Dialog,是否有必要根据屏幕 DPI 缩放小部件?还是 Qt 会自动处理它?
我知道字体大小需要像素到点的转换。小部件的高度和宽度以及所有其他属性(如填充等)是否也需要它?
【问题讨论】:
标签: qt widget width pixel points
Qt 小部件的 Width() 和 Height() API 的单位是什么? Qt 文档说 int - 是点还是像素?假设我开发了一些带有许多子小部件的 Qt Dialog,是否有必要根据屏幕 DPI 缩放小部件?还是 Qt 会自动处理它?
我知道字体大小需要像素到点的转换。小部件的高度和宽度以及所有其他属性(如填充等)是否也需要它?
【问题讨论】:
标签: qt widget width pixel points
从文档中,简短的回答是:
现在,几何图形是在设备独立像素中指定的。这包括 小部件和项目几何、事件几何、桌面、窗口和屏幕 几何,以及动画速度。输出呈现在 设备像素,对应于显示分辨率。这 devicePixelRatio 是设备独立像素之间的比率 和设备像素坐标系。
高 DPI 支持是一个棘手的问题。请参阅here,了解 Qt 如何处理各种窗口系统上的高 DPI 支持。
而且,一如既往,最好使用布局来代替硬编码小部件几何形状。
【讨论】: