2017-10-17 37 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文檔沒有提到如何選擇或得到的模型和方法只是元素的單個元素的保持。

我想選擇一個元素,並對其進行處理並完成的ListView,即使我的列表模型有幾個listElements。

有人能知道如何從列表模型選擇一個或幾個ListElements的(不是全部)。

+0

'我想選擇一個元素,並對其進行處理,並完成ListView'。那是什麼意思 ? – GrecKo

+0

@GrecKo ...的ListModel的含有3個ListElements,我想知道如何選擇從一個的ListModel和ListElement過程只該元素在ListView。 – Circuitdude

回答

2

但Qt文檔沒有提及如何選擇或獲取模型中的單個元素並僅處理該元素。

我會說這是中提到相當清楚:

object get(int index) 

在列表模式索引返回該項目。這使得項目數據 被訪問或從JavaScript

修改

編輯:請記住,除了與get(),當您使用視圖,每位代表將自動「選擇」個人模式項目「選擇」基礎項目。

+0

這就是問題所在。我不想接觸JavaScript,我想用Qt和QML來做所有事情。 – Circuitdude

+0

@Circuitdude QML是JS。這是使用js腳本編寫的類似json的標記。 – dtech

+1

另一種選擇是使用C++,但是'ListModel'甚至沒有公共的C++ API。如果你使用QML,你使用JS,那是沒有辦法的。 – dtech