盛世清平~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对象。
组件与动态对象
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对象。
相关文章推荐
- 盛世清平~Qt quick学习笔记_08
- 盛世清平~Qt quick学习笔记_04
- 盛世清平~Qt quick学习笔记_18
- 盛世清平~Qt quick学习笔记_17
- 盛世清平~Qt quick学习笔记_07
- 盛世清平~Qt quick学习笔记_10_还不理解的话
- 盛世清平~Qt quick学习笔记_11_遇见的问题
- 盛世清平~Qt quick学习笔记_13
- 盛世清平~Qt quick学习笔记_15
- 盛世清平~Qt quick学习笔记_06
- 盛世清平~Qt quick学习笔记_14_文件加载组件
- 盛世清平~Qt quick学习笔记_05
- 盛世清平~Qt quick学习笔记_16
- 盛世清平~Qt quick学习笔记_03
- 盛世清平~Qt quick学习笔记_02
- 盛世清平~Qt quick学习笔记_12_遇见的问题
- 盛世清平~Qt quick学习笔记_06
- Ext.Net学习笔记09:Ext.Net Store的用法
- iOS学习笔记09-核心动画CoreAnimation
- FreeBSD学习笔记09-Pureftpd配置文件中英文对照