.gu代表什么?

.gu代表什么?

例如:

ConditionalLayout { name: "row" when: layouts.width > units.gu(50) //right here Row { anchors.fill: parent etc.... 

gu是网格单元的缩写。

从用户界面手册 :

测量单位

定义了一个新的测量单位,称为网格单元,缩写为gu。 1个网格单位转换为给定数量的像素,具体取决于显示用户界面的屏幕类型。 例如,在笔记本电脑上,1个网格单元通常会转换为8个像素。 选择每个网格单元的像素数量以便保持UI元素的感知视觉尺寸,因此取决于显示器的密度和用户与屏幕的距离。 我们还确保1个网格单元始终是整数个像素。

例子

  • 大多数笔记本电脑1 gu = 8 px
  • Retina笔记本电脑1 gu = 16像素
  • 具有4英寸屏幕的高清分辨率(约720×1,280像素)1 gu = 18像素的手机
  • 平板电脑采用10英寸屏幕,高清分辨率(约720×1,280像素)1 gu = 10像素

因此,如果您将所有测量基于GU,则每个设备都将按预期显示。


如果位图的目标大小为10 gu * 10 gu且开发人员针对的是每网格单位为18像素的设备(1 gu = 18 px),则仍应创建位图,就像1 gu = 30 px一样,这会导致300 px * 300 px位图。 在器件上进行测试时,位图将缩小30/18 = 1.66667倍。


额外:对于小于1像素的测量,您可以以相同的方式使用“units.dp”。