daily commit
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
# qml基本概念
|
||||
* ## 坐标系概念
|
||||
* qml组件的坐标系为迪卡尔坐标系,以屏幕水平方向为x轴,垂直方向为y轴,分为以下两种:
|
||||
* scene坐标系:坐标系通常与根组件的组件坐标系相同,(0,0)位置与想要渲染的画布的左上角相对应
|
||||
* item坐标系:通常,若当前组件不是根组件,则当前组件的坐标x,y属性是相对与父组件的组件坐标系的
|
||||
* ## visual parent(可视化父组件)
|
||||
* qml对象的visual parent和qobject parent是两个不同但是相关连的概念。
|
||||
* object用于管理qml对象的生命周期和内存管理。
|
||||
* 在使用qtquick模块时,该模块中所有类型都包含了一个visual parent的概念,用来决定该组建在场景渲染时的父item坐标系。每个item都有一个parent属性,该属性对应的值就是该item的visual parent。如果某item的parent属性为null,则该item为渲染该场景的根item。
|
||||
* 如果将一个对象赋值给一个item的data属性,那么该对象在qojbect层次结构中会变成item对象的子对象;如果该对象还是item对象,那么该对象还会在visual parent层次结构中变为item对象的子对象
|
||||
* 方便起见,如果一个item中声明另一个item,并且没有将该item赋值给外层item的仍然属性,那么将会默认将内层item添加到外层item的data属性,内层item变为外层item的qobject子对象和visual层次结构的子对象
|
||||
* visual parent可以在运行时通过修改parent属性改变,故而visual parent和qobject层次的父对象并不一定相同
|
||||
* ## scene中的item的渲染顺序
|
||||
# qml基本概念
|
||||
* ## 坐标系概念
|
||||
* qml组件的坐标系为迪卡尔坐标系,以屏幕水平方向为x轴,垂直方向为y轴,分为以下两种:
|
||||
* scene坐标系:坐标系通常与根组件的组件坐标系相同,(0,0)位置与想要渲染的画布的左上角相对应
|
||||
* item坐标系:通常,若当前组件不是根组件,则当前组件的坐标x,y属性是相对与父组件的组件坐标系的
|
||||
* ## visual parent(可视化父组件)
|
||||
* qml对象的visual parent和qobject parent是两个不同但是相关连的概念。
|
||||
* object用于管理qml对象的生命周期和内存管理。
|
||||
* 在使用qtquick模块时,该模块中所有类型都包含了一个visual parent的概念,用来决定该组建在场景渲染时的父item坐标系。每个item都有一个parent属性,该属性对应的值就是该item的visual parent。如果某item的parent属性为null,则该item为渲染该场景的根item。
|
||||
* 如果将一个对象赋值给一个item的data属性,那么该对象在qojbect层次结构中会变成item对象的子对象;如果该对象还是item对象,那么该对象还会在visual parent层次结构中变为item对象的子对象
|
||||
* 方便起见,如果一个item中声明另一个item,并且没有将该item赋值给外层item的仍然属性,那么将会默认将内层item添加到外层item的data属性,内层item变为外层item的qobject子对象和visual层次结构的子对象
|
||||
* visual parent可以在运行时通过修改parent属性改变,故而visual parent和qobject层次的父对象并不一定相同
|
||||
* ## scene中的item的渲染顺序
|
||||
* 默认情况下,归属于统一父item的兄弟子item之间,后声明的item渲染在先声明的item之上。若item a渲染在item b之上,那么item a子树中所有子item都渲染在以item a为根的子树之上,即使item a中某个子item的z属性大于item a子树中某个item的z属性值。若想将item a子树中的item渲染到item b子树之上,只能够改变item a的z属性值令其渲染在item b之上。
|
||||
Reference in New Issue
Block a user