하나의 ListView와 하나의 GridView가 있습니다. 첫 번째 뷰는 카테고리를 표시하고 두 번째 뷰는 각 카테고리의 기사를 표시합니다. ListView의 현재 인덱스가 javascript로 변경 될 때 GridView의 데이터 모델을 동적으로 변경하려고합니다. 어떻게해야합니까?QML GridView 모델을 자바 스크립트로 변경하십시오.
2
A
답변
3
새 모델을 지정하기 만하면됩니다. 다음은 ListModel 문서를 기반으로하는 한 가지 예입니다. 이 모델은 왼쪽의 ListView에서 모델의 과일을 보여줍니다. 델리게이트를 클릭하면 오른쪽의 GridView 모델이 attributes
롤에 정의 된 목록으로 설정됩니다.
import QtQuick 1.0
Item {
width: 600; height: 400
ListView {
width: 300; height: 400
model: fruitModel
delegate: Text {
font.pixelSize: 20
text: name
width: 300
MouseArea {
anchors.fill: parent
onClicked: grid.model = attributes
}
}
}
GridView {
id: grid
x: 300; width: 300; height: 400
delegate: Text {
text: description
font.pixelSize: 20
}
}
ListModel {
id: fruitModel
ListElement {
name: "Apple"
cost: 2.45
attributes: [
ListElement { description: "Core" },
ListElement { description: "Deciduous" }
]
}
ListElement {
name: "Orange"
cost: 3.25
attributes: [
ListElement { description: "Citrus" }
]
}
ListElement {
name: "Banana"
cost: 1.95
attributes: [
ListElement { description: "Tropical" },
ListElement { description: "Seedless" }
]
}
}
}
이것은 중첩 모델의 예이지만 다른 가능성도 있습니다. 예를 들어 데이터베이스에서 데이터를 소싱하는 경우 다른 모델을 설정하는 대신 GridView의 모델에서 사용하는 쿼리 만 변경하면됩니다.
2
모델에 따라 다릅니다. CategoriesModel
가정 category
역할을하고, ArticlesModel
는 setCategory
방법이 있습니다
ListView {
model: CategoriesModel {}
delegate: Item {
MouseArea {
anchors.fill: parent
onClicked: {
grid_view.model.setCategory(model.category)
}
}
// ...
}
}
GridView {
id: grid_view
model: ArticlesModel {}
// ...
}
을
관련 문제
- 1. 자바 스크립트로 "for"레이블을 변경하십시오.
- 2. 자바 스크립트로 라틴 숫자를 변경하십시오.
- 3. 런타임에 QML GridView 모델 변경
- 4. QML Gridview with InputText
- 5. 자바 스크립트로 HTML 입력 필드 수를 변경하십시오.
- 6. 클릭하면 자바 스크립트로 선택 값을 변경하십시오.
- 7. 자바 스크립트로 iframe URL을 변경하십시오. firefox issue
- 8. 자바 스크립트로 양식 요소를 동적으로 변경하십시오.
- 9. 자바 스크립트로 HTML 요소의 ID를 동적으로 변경하십시오.
- 10. 자바 스크립트로 클릭시 추가 GridView 열보기?
- 11. 변경 사항을 자바 스크립트로 테이블에 저장 (gridview)
- 12. 자바 스크립트로 gridview 내부에있는 체크 박스를 확인하십시오.
- 13. 자바 스크립트는 QML
- 14. QML : 이동 가능한 셀이있는 GridView (끌어서 놓기)
- 15. JSONArray를 자바 스크립트로 변환하여 자바 스크립트로 변환
- 16. GridView 항목 템플릿을 동적으로 변경하십시오.
- 17. 자바 스크립트로 CSS 파일을 읽고 페이지를 동적으로 변경하십시오.
- 18. 푸시 알림시 백본 모델을 변경하십시오.
- 19. 자바 스크립트로
- 20. QML : 나는 QML/test.qml 파일을 만든 QML
- 21. QML : QML 화면
- 22. QStandardItemModel의 항목에 QML
- 23. ASP 변수를 자바 스크립트로 전달
- 24. QML
- 25. 자바 스크립트로 자바 스크립트를 동적으로로드하십시오.
- 26. 자바 애플릿을 자바 스크립트로 죽여라.
- 27. Android에서 GridView 내의 ImageView 내용을 변경하십시오.
- 28. DataBound 이벤트에서 GridView BoundField 값을 변경하십시오.
- 29. 조건에 따라 GridView 행 색상을 변경하십시오.
- 30. 한 명령에서 여러 GridView 셀의 색을 변경하십시오.