首页| 论坛| 消息

标题:c++与qm混编中的变量传递问题
作者:iamcwz
日期:2015-05-19 13:13
内容:

在main.cpp中定义了一个变量例如:a;
Q_INVOKABLEQString a[number];
engine.rootContext()->setContextProperty("a",*a);//数组
通过这样的方式将数组指针注册到qml中。
问题是在qml中如何操作这个指针来表示数组下标呢?例如我要表示a[2],
在qml中写 a+2行不通。


#1 [彩阳 05-19 21:32]
使用QQmlListProperty对QList进行包裹(wrap)。详情请看birthday那个例子。
#2 回 彩阳 的帖子 [iamcwz 05-20 10:45]
彩阳:
使用QQmlListProperty对QList进行包裹(wrap)。详情请看birthday那个例子。
birthday貌似不是我想要的效果,那个在qml指定数组内容,在main中输出。
我想要的效果很简单,在main.cpp中已经有一个数组,我要在qml中把数组输出来。我参考的是这个链接http://blog.csdn.net/kangear/article/details/8042187
貌似传数组+n行不通。
#3 回 彩阳 的帖子 [iamcwz 05-20 11:35]
彩阳:使用QQmlListProperty对QList进行包裹(wrap)。详情请看birthday那个例子。 (2015-05-19 21:32) 
群主,已经解决了。用的QStringList,但是没有用QQmlListProperty包裹。直接:
Q_INVOKABLEQStringList sadvUrl;
engine.rootContext()->setContextProperty("sadvUrl",sadvUrl);//数组
在qml中使用sadvUrl 指定下标即可使用了。谢谢啦

回复 发表
主题 版块