首页| 论坛| 消息

标题:QML 如何在listview的外部更改delegate的内部元素属性的值
作者:lq2219502
日期:2013-11-26 11:22
内容:

在listview的外部可以更改delegate当中的内部元素的属性的值么?
就好像可以更改model中的元素属性:model[0].XX="XXX"这样的形式。
期待大牛的帮助。


#1 [toby520 11-26 14:10]
可以做到,要更改哪个对象 你首先要知道当前对象是哪个,通过currentIndex获取当前对象,在使用index来操作model里面的数据
#2 回 1楼(toby520) 的帖子 [lq2219502 11-26 14:13]
model里的数据我会改了,但是我想更改delegate中的东西,比如delegate用一个text展示了model中的数据,我想点击按钮使得某一个text隐藏,应该怎么做呢?
#3 [sikylori 11-26 17:18]
在Model里面增加一个属性(如:isVisible),deletegate中写Text { visible: isVisible; },然后你想显示或隐藏就修改model中对应的属性值
#4 回 3楼(sikylori) 的帖子 [lq2219502 11-26 17:41]
恩,这个方法是行的通的。但是我的model是从C++得到的,如果采取这种方法,我就需要为每个需要改变的值在c++类中定义新的成员变量了,是否还有更可行的方法呢?

回复 发表
主题 版块