• 6308阅读
  • 4回复

[提问]QML 如何在listview的外部更改delegate的内部元素属性的值 [复制链接]

上一主题 下一主题
离线lq2219502
 
只看楼主 倒序阅读 楼主  发表于: 2013-11-26
在listview的外部可以更改delegate当中的内部元素的属性的值么?
就好像可以更改model中的元素属性:model[0].XX="XXX"这样的形式。
期待大牛的帮助。
离线toby520

只看该作者 1楼 发表于: 2013-11-26
可以做到,要更改哪个对象 你首先要知道当前对象是哪个,通过currentIndex获取当前对象,在使用index来操作model里面的数据
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线lq2219502
只看该作者 2楼 发表于: 2013-11-26
回 1楼(toby520) 的帖子
model里的数据我会改了,但是我想更改delegate中的东西,比如delegate用一个text展示了model中的数据,我想点击按钮使得某一个text隐藏,应该怎么做呢?
离线sikylori

只看该作者 3楼 发表于: 2013-11-26
在Model里面增加一个属性(如:isVisible),deletegate中写Text { visible: isVisible; },然后你想显示或隐藏就修改model中对应的属性值
离线lq2219502
只看该作者 4楼 发表于: 2013-11-26
回 3楼(sikylori) 的帖子
恩,这个方法是行的通的。但是我的model是从C++得到的,如果采取这种方法,我就需要为每个需要改变的值在c++类中定义新的成员变量了,是否还有更可行的方法呢?
快速回复
限100 字节
 
上一个 下一个