Unsolved c++ 与 qml 交互
-
大家好:
CMac * m1 = new CMac;
CMac * m2 = new CMac;
CMac * mac = m1;
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("MAC", mac);
这样后,QML环境可以正常与mac指向的m1交换数据 , 但当 c++ 环境改为
mac = m2 后,QML环境的MAC交换的对象还是之前的m1 ! 估计是
setContextProperty("MAC", mac); QT取用了mac指向的地址,而不是把mac当作一个指针!!!
那么,我应该用什么方法能在QML里的MAC能自由存取 m1, m2 呢? 谢谢! -
@neeme 你好,新年快乐。
方法1:什么时候使用,什么时候直接调用
engine.rootContext()->setContextProperty("MAC", m1); // m2
方法2: C++环境可以使用两个变量吗?engine.rootContext()->setContextProperty("MAC_1", m1);