您的位置:首页 > 产品设计 > UI/UE

盛世清平~Qt quick学习笔记_09

2018-01-24 20:28 197 查看
Q_PROPERTY 宏就是用来定义 QML 中可访问属性的,当你看到 NOTIFY 字样,它后面的字段就是与属性绑定的信号的名字。 Qt 实现了动态属性绑定,当你为 QML Text 的属性 color 赋值时,实际上会调用到 QQuickText 的 setColor() 函数,也会触发 colorChanged() 信号。

组件与动态对象

Component是由Qt框架或开发者封装好,只暴露了必要的接口的QML类型,可以重复利用

嵌入式定义组件,Component只能包含一个顶层Item,而且在这个Item之外不能定义任何数据,除了id。

Component通常用来给一个view提供图形化组件:

ListView ::delegate属性就需要一个Component来指定如何显示列表的每一个项,

ButtonStyle::background属性也需要一个Component来指定如何绘制button的背景。

Component是从QQmlComponent继承而来,他本身是不可见元素。定义的组件是一个新的类型,它必须被实例化以后才可能显示。而要实例化一个嵌入在QML文档中定义的组件,则可以通过Loader

在单独文件中定义组件

把一个Component单独定义在一个QML文档中--BusyIndicator控件

1、组件名必须和QML文件名一致2、组件名的第一个字母必须是大写

比如:我们给颜色选择的组件起个名字叫ColorPicker,对应的QML文件就为ColorPicker.qml

就可以在其他的QML文档中使用ColorPicker{...}来定义ColorPicker的实例

在单独文件内定义组件,不需要Component对象,只有在其他QML文档中嵌入式定义组件时才需要Component对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: