qt 里如简单的用调用多个C++对象的数据域
Qt编程中:
我在C++中声明了类,并实例化很多对象(数组形式)
在Qml中写了一个component
Component {
id: stastyle
Rectangle{
id: rect
width: 40
height: 40
Text{
text:"value:" + object.getValue();
anchors.centerIn: parent
}
}
Loader { sourceComponent: stastyle; y:20;x:20;}
Loader { sourceComponent: stastyle; y:20;x:100;}
Loader { sourceComponent: stastyle; y:20;x:180;}
Loader { sourceComponent: stastyle; y:20;x:260;}
// 这样可以加载4个一样的 stastyle
// 注意到 text 里赋值的 object 是传送过来的 C++ 对象
但我想在 Text 里给text赋值时使用不同C++对象。就是说在C++中:
Station st1,st2,st3,st4;
/*
set values of st1,st2,...
*/
QmlApplicationViewer viewer;
viewer.rootContext()->setContextProperty("st1",&st1);
viewer.rootContext()->setContextProperty("st2",&st2);
viewer.rootContext()->setContextProperty("st3",&st3);
viewer.rootContext()->setContextProperty("st4",&st4);
像这样有四个对象,如何在qml里直接用"st1"替换掉 "object"使每个独立的元素都对应调用不同的C++对象,这样让qml中的众多text有不同的值?
qml的资料网上实在不多,新人求救!
蛋包饭茶水卫门
11 years ago