Qml控件-ListView中model支持的数据类型:
ListModel{}
appendgetcountnew 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的单元是否选中改变背景色。