我有2个qml文件。从另一个QML设置QML属性
我想从第一个qml文件设置第二个qml fromperty。
**first.qml**
var cmponent = Qt.createComponent("second.qml");
var newObj = cmponent.createObject(swipeView);
newObj.pageIndex = i;
swipeView.insertItem(swipeView.currentIndex+i,newObj)
并插入到SwipeView中。
其中'pageIndex
'是2nd qml的整数属性。 在第二个qml文件中,我有一个带有单元格的GridLayout。 我需要显示在此基础上动态pageIndex
财产
second.qml单元格内容
申报财产。
property int pageIndex: 0
onPageIndexChanged:{
console.log("onPageIndexChanged :" +pageIndex)
home_grid.update()
}
onPageIndexChanged
方法被触发,但是,我想根据属性值设置网格单元格。
问题是 ,同时组件的初始化
var cmponent = Qt.createComponent("second.qml");
将细胞加载到GridLayout的。
我该如何发布/解决此问题。
1:为什么用JS函数创建对象? 2:你的GridLayout在哪里?你想在那里展示的细胞是什么?你不能用索引作为模型的GridView吗? – derM
1.我想动态创建视图。基于ListModel计数。每个视图都有具有最大元素6的网格。示例:模型包含7个元素,然后在firstView中显示6个元素,并使用swipeView切换这些视图,其余1个显示在sendView上。 2.“GridLayout”在另一个qml文件(second.qml)中。网格中的每个单元格/元素都基于模型的值显示。 –
应该可以在多个视图中使用一个'ListModel'。所以我会建议使用'GridView'而不是'GridLayout'。然后你可以在这个'GridView'的委托中使用'magic'变量'index'来达到你的目的。 – derM