2 개의 qml 파일이 있습니다.다른 QML에서 QML 속성 설정
첫 번째 qml 파일에서 두 번째 qml frompert를 설정하고 싶습니다.
**first.qml**
var cmponent = Qt.createComponent("second.qml");
var newObj = cmponent.createObject(swipeView);
newObj.pageIndex = i;
swipeView.insertItem(swipeView.currentIndex+i,newObj)
그리고 SwipeView에 삽입하십시오.
여기서 'pageIndex
'은 2 번째 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-Functions로 객체를 만드나요? 2 : GridLayout은 어디에 있습니까? 거기에 표시 할 셀은 무엇입니까? 인덱스와 함께 GridView를 사용할 수 있습니까? – derM
1. 뷰를 동적으로 만들고 싶습니다. ListModel 카운트에 근거 해 각보기에는 최대 요소가있는 격자가 있습니다. 예 : 모델에는 7 개의 요소가 있고 firstView에는 6 개의 요소가 표시되고 swipeView로 sendView에는 나머지 1 개의 디스플레이가 표시됩니다. 2. "GridLayout"은 다른 qml 파일 (second.qml)에 있습니다. 각 셀/요소는 모델을 기반으로 한 값에서 격자에 표시됩니다. –
여러 개의 뷰에서 하나의'ListModel '을 사용할 수 있어야합니다. 그래서'GridLayout' 대신에'GridView'를 사용하도록 제안 할 것입니다. 그런 다음이 'GridView' 대리자에서'magic '변수'index'를 사용할 수 있습니다. – derM