首页| 论坛| 消息

标题:在c++如何获取qml中listmodel的数据
作者:ly48694869
日期:2012-04-09 15:15
内容:

网上看了很多,貌似大概思路都是获取到listmodel的对象然后在遍历其children就可以了,但是我的model是出来了,QDeclarativeListModel,但是它没有子对象。。。 哪位大虾知道这是为什么。listmodel显示正常,说明有数据的。


#1 [ly48694869 04-09 15:21]
另外其属性count也显示为4,进一步说明了应该有数据的,但是不知道怎么取出来。
#2 [ly48694869 04-09 16:05]
好吧,我又来自问自答了
获得了QDeclarativeListModel对象后,既然不能直接访问,那我们就通过MetaObject机制在弄就好了,看了下源代码里面的定义后发现了get的定义,于是乎用:
QMetaObject::invokeMethod(model, ‘get',Q_REGURN_ARG(QScriptValue, retValue), Q_ARG(int, idx));来获取到ListElement的对象,最后查看其property就可以了。。
这么简单的思路想半天,我可以去屎了。
QT的meta机制真的很不错,能解决很多问题。
#3 [logens 11-21 11:18]
不明白楼主的意思,上源码,求学习,谢谢

回复 发表
主题 版块