1、Item作为基本元素,没有视觉外观,属性较多,且较多控件继承它,因此,弄懂Item属性、接口、用法是学习qml关键
2、属性列表
属性 | 类型 | 默认值 | 意义 | |
---|---|---|---|---|
activeFocus | bool | 项目是否具有活动焦点 | ||
activeFocusOnTab | bool | false | 否要位于选项卡焦点链中 | |
anchors锚属性 | 锚点提供了一种通过指定项目与其他项目的关系来定位项目的方法,只能将项目锚定到兄弟姐妹或父项 | |||
anchors.top | AnchorLine | (部分较基础不阐述,相对位置见下图) | ||
anchors.bottom | AnchorLine | |||
anchors.left | AnchorLine | |||
anchors.right | AnchorLine | |||
anchors.horizontalCenter | AnchorLine | |||
anchors.verticalCenter | AnchorLine | |||
anchors.baseline | AnchorLine | |||
anchors.fill | Item | |||
anchors.centerIn | Item | |||
anchors.margins | real | |||
anchors.topMargin | real | |||
anchors.bottomMargin | real | |||
anchors.leftMargin | real | |||
anchors.rightMargin | real | |||
anchors.horizontalCenterOffset | real | 锚定后的水平偏移量 | ||
anchors.verticalCenterOffset | real | 锚定后的垂直偏移量 | ||
anchors.baselineOffset | real | 指定项目基线在本地坐标中的位置 | ||
anchors.alignWhenCentered | bool | true | 设置居中的锚布局时与整数个像素对齐 | |
antialiasing | bool | false | 抗锯齿 | |
baselineOffset | int | 指定项目基线在本地坐标中的位置 | ||
children | list | 此项的可视子项列表 | ||
childrenRect(只读属性) | 保存项目子项的集体位置和大小。返回的几何图形是项目本地的。 | |||
childrenRect.x | real | |||
childrenRect.y | real | |||
childrenRect.width | real | |||
childrenRect.height | real | |||
可视化 | clip | bool | false | 元素的子项超出父项范围后会自动裁剪 |
visible | bool | true | 是否可见 | |
visibleChildren | list | |||
opacity | real | 1.0 | 此属性保存项目的不透明度 | |
smooth | bool | true | 主要用于基于图像的项目,以决定项目是否应使用平滑采样 | |
data | list | data 属性允许在项目中自由混合可视子项和资源。如果将可视项分配给数据列表,它将成为子项,如果分配任何其他对象类型,则将其添加为资源。 | ||
enabled | bool | true | 否接收鼠标和键盘事件 | |
focus | bool | 否在封闭的 FocusScope 内具有焦点 | ||
implicitHeight | real | 隐式高度,隐式大小对于根据内容确定首选大小的组件很有用 | ||
implicitWidth | real | 隐式宽度 | ||
layer.effect | Component | |||
layer.enabled | bool | 保持项目是否分层。默认情况下禁用分层。 | ||
layer.format | enumeration | 该属性定义了纹理的内部格式 | ||
layer.mipmap | bool | 如果此属性为 true,则为纹理生成 mipmap | ||
layer.samplerName | string | 保存效果的源纹理属性的名称。此值必须与 layer.effect 的源纹理属性的名称匹配。 | ||
layer.smooth | bool | 保持图层是否平滑变换 | ||
layer.sourceRect | rect | 该属性定义了应该渲染到纹理中的项目的矩形区域 | ||
layer.textureMirroring | enumeration | 此属性定义了生成的纹理应该如何被镜像 | ||
layer.textureSize | size | 此属性保存图层纹理的最大像素大小 | ||
layer.wrapMode | enumeration | 此属性定义与纹理关联的环绕模式 | ||
parent | Item | |||
resources | list | 要按名称引用的非可视资源 | ||
转换 | rotation | real | 0 | 此属性保存项目绕其 transformOrigin 顺时针旋转的度数 |
scale | real | 1 | 此属性保存此项目的比例因子 | |
transform | list | 包含要应用的转换列表 | ||
transformOrigin | enumeration | 保存缩放和旋转变换所围绕的原点 | ||
transitions | list | 此项目的转换列表 | ||
state | string | 此属性保存项目当前状态的名称 | ||
states | list | 此属性包含此项目的可能状态列表 | ||
几何属性 | x | real | 相对父类绝对位置 | |
y | real | 相对父类绝对位置 | ||
z | real | |||
width | real | 宽 | ||
height | real | 高 |
3、方法
1)childAt(real x, real y) 返回坐标位置,第一个可视项目,若没有,返回空
2)bool contains(point point) 返回此坐标是否在项目内
3)object mapToItem(Item item, point p)及其重载函数,将参数中 Item 坐标系中的点 (x, y) 或 rect (x, y, width, height) 映射到当前 Item 的坐标系,并返回与映射坐标匹配的点或矩形。如果 item 为空值,则从根 QML 视图的坐标系映射点或矩形。
4)object mapFromItem(Item item, point p)将参数中 Item 坐标系中的点 (x, y) 或 rect (x, y, width, height) 映射到当前 Item 的坐标系,并返回与映射坐标匹配的点或矩形
5)forceActiveFocus()强制为该项目设置焦点,并确保对象层次结构中的所有祖先 FocusScope 对象也获得焦点
6)object mapFromGlobal(real x, real y)将全局坐标系中的点 (x, y) 映射到项目的坐标系,并返回与映射坐标匹配的点
7)object mapToGlobal(real x, real y)将此项坐标系中的点 (x, y) 映射到全局坐标系,并返回与映射坐标匹配的点
8)bool grabToImage(callback, targetSize)
9)nextItemInFocusChain(bool forward)返回焦点链中此项目旁边的项目。 如果 forward 为true,或未提供,则是前一项。 如果 forward 为 false,则是后一项