简介
Component是Qt封装好的、只暴露必要接口的QML类型,可以重复利用。一个QML组件就像一个黑盒子,它通过属性、信号、函数和外部世界交互。
一个Component既可以定义在独立的QML文件(.qml为后缀的文件)中,也可以嵌入到其他的QML文件中来定义。那么这两种方式分别适用于什么场景呢?这里有一个原则可以帮助我们去选择Component的定义方式:如果一个Component比较小且只在某个QML文件中使用,或者说一个Component从逻辑上来看属于某个QML文档,那么就可以采用嵌入的方式来定义该Component;如果这个Component有很多地方可以用到,也就是说复用率比较高,那么就可以采用定义在独立的QML文件中的方式。下面说明一下这两种实现Component方式的差别:
文章最后为大家准备了Qt资料
↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡↡
- 嵌入式定义Component:
要在一个QML文件中嵌入Component的定义,需要使用Component对象。
定义一个Component与定义一个QML文件类似,Component只能包含一个顶层Item,而且在这个Item之外不能定义任何数据,除了id。 在顶层Item之内,则可以包含更多的子元素来协同工作,最终形成一个具有特定功能的组件。
Component通常用来给一个View提供图形化组件,比如ListVIew::delegate属性就需要一个Component来指定如何显示列表的每一个项,又比如B