Qml控件-ListView中model支持的数据类型:
- ListModel{}
- append
- get
- count
- new Array
- push
- []
- length
以上两种类型的数据都支持,但由于类型的CRUD方法不一样,不能混用。否则会造成显示逻辑的bug。
注意
- ListView中的数据建议使用ListModel,会有很多便利,如在给单元赋值时,可以直接使用role-name。使用Array只能通过array[index]来指定变量。
- 优先使用ListModel。
- 或者ListModel和Array都提供(因为Array容易和C++进行数据传递),通过Array来修改ListModel。
- 监听数据变化,可以使用Array,不能使用Listmodel(所以qml和C++使用Array交互,可以动态感知数据变化)。
- 默认的QStringList咋QLisview中,默认的键值就是modelData。
ListView使用要点
- highlight和currentIndex相关,在点击时事件中,需要及时修改currentIndex变量。
- 设置统一的背景色,将ListView放在Rectangle中(充满),把Rectangle背景色和ListView-delegate设置为相同颜色即可。
- ListView设置delegate的背景色后,highlight将不起作用,根据ListView的单元是否选中改变背景色。