2017-10-17 1 views
-1

일부 목록 요소가 포함 된 목록 모델이 있습니다. 예를 들어ListModel에서 개별 ListElement를 선택하고 ListView에서 처리하는 방법

말 :

수입 QtQuick 2.0

ListModel { 
    id: fruitModel 

    ListElement { 
     name: "Apple" 
     cost: 2.45 
    } 
    ListElement { 
     name: "Orange" 
     cost: 3.25 
    } 
    ListElement { 
     name: "Banana" 
     cost: 1.95 
    } 
} 

는 지금은 위임 모델을 볼 수있는 구성 요소와의 ListView를 만들 수 있습니다.

Component { 
     id: fruitDelegate 
     Row { 
      spacing: 10 
      Text { text: name } 
      Text { text: '$' + cost } 
     } 
    } 

    ListView { 
     anchors.fill: parent 
     model: fruitModel 
     delegate: fruitDelegate 
    } 

위의 예는 Qt 문서에서 발췌 한 것입니다.

그러나 Qt 문서에는 모델에서 단일 요소를 선택하거나 가져 와서 해당 요소 만 처리하는 방법은 나와 있지 않습니다.

목록 모델에 여러 listElements가 있지만 하나의 요소를 선택하여 처리하고 ListView를 마치고 싶습니다.

목록 모델에서 하나 또는 몇 개의 ListElements (전부는 아님)를 선택하는 방법을 아는 사람이 있습니까?

+0

'하나의 요소를 선택하여 처리하고 ListView를 끝내고 싶습니다.' 그게 무슨 뜻 이죠? – GrecKo

+0

@GrecKo ... ListModel에는 3 ListElements가 포함되어 있으며 ListModel에서 하나의 ListElement를 선택하고 해당 요소 만 ListView에서 처리하는 방법을 알고 싶습니다. – Circuitdude

답변

2

그러나 Qt 설명서에는 모델에서 단일 요소 을 선택하거나 유지하는 방법에 대해 언급하지 않고 해당 요소 만 처리합니다.

나는 그것이 매우 명확한 언급 말하고 싶지만 :

object get(int index) 

목록 모델의 인덱스에 해당하는 항목을 반환합니다. 이 아이템 데이터 액세스하거나 자바 스크립트

에서 변경 될 수 있습니다

편집 : get(), 당신이보기를 사용하는 경우, 각 대표가 자동으로됩니다와 개별 모델 항목을 "선택"할뿐만 아니라, 명심하십시오 기본 항목을 "선택"합니다.

+0

그게 문제입니다. JavaScript를 건드리고 싶지는 않지만 Qt와 QML로 모든 것을하고 싶습니다. – Circuitdude

+0

@Circuitdude QML은 JS입니다. js 스크립팅으로 json과 유사한 마크 업입니다. – dtech

+1

다른 대안은 C++을 사용하는 것이지만,'ListModel'은 public C++ API조차 가지고 있지 않습니다. QML을 사용하는 경우 JS를 사용합니다. 그 방법은 없습니다. – dtech

관련 문제