在 QML 中,几乎所有组件都继承自 Item 类型,因此它们共享一些通用的属性。
QML 组件通用属性
位置和尺寸
- x 和 y: 组件在其父元素中的位置坐标
Item {x: 100y: 100
}
- width 和 height: 组件的宽度和高度
Item {width: 200height: 100
}
- z: 组件在 Z 轴上的堆叠顺序。
Item {z: 1
}
可见性和外观
- visible: 控制组件的可见性。
Item {visible: false
}
- opacity: 组件的不透明度(0.0 完全透明到 1.0 完全不透明)
Item {opacity: 0.5
}
- clip: 当设置为 true 时,剪切超出该组件范围的子元素部分
Item {clip: true
}
布局和对齐
- anchors: 定义组件如何相对于其兄弟组件或父元素定位
Item {anchors.centerIn: parent
}
- rotation 和 scale: 组件的旋转角度和缩放比例
Item {rotation: 45scale: 1.5
}
鼠标和触摸交互
- enabled: 指定组件是否响应用户交互
Item {enabled: false
}
- focus 和 activeFocus: 控制键盘焦点
Item {focus: true
}
- acceptedMouseButtons: 定义哪些鼠标按钮可以被组件识别
动画和状态
- state: 组件的当前状态。
- transitions: 状态之间的过渡动画
高级属性
- id: 组件的唯一标识符,用于 QML 中的引用。
- property: 自定义属性
Item {property int myProperty: 123
}
- signal 和 function: 自定义信号和函数
Item {signal mySignalfunction myFunction() { /* ... */ }
}
示例
Item {x: 50y: 50width: 100height: 100visible: trueopacity: 0.8anchors.centerIn: parentrotation: 0scale: 1enabled: truefocus: falsestate: ""z: 999
}