2017-10-17 2 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 
    } 
} 

は今は委任モデルを表示するためのコンポーネントおよびリストビューを作成します。

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

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

上記の例はQtのドキュメントです。

しかし、Qtのドキュメントでは、モデル内の単一の要素を選択または取得し、その要素だけを処理する方法については言及していません。

リストモデルに複数のlistElementsがある場合でも、1つの要素を選択して処理してListViewを終了したいとします。

リストモデルから1つまたは2つのListElements(すべてではない)を選択する方法を知っている人がいますか。

+0

「要素を1つ選択して処理し、ListViewを終了したいと思います。どういう意味ですか ? – GrecKo

+0

@ GrecKo ... ListModelには3つのListElementsがあり、ListModelから1つのListElementを選択し、その要素だけをListViewで処理する方法を知りたいと思います。 – Circuitdude

答えて

2

しかしQtのドキュメントでは、モデル内の単一の要素 を選択または取得し、その要素だけを処理する方法については言及していません。

私はそれがかなり明確に言及されていると言うだろう:

object get(int index) 
リストモデルでインデックスにある項目を返します

。これはアイテムデータ がアクセスまたはJavaScript

から変更することができます

EDIT:get()、ビューを使用しているとき、各デリゲートが自動的になりますと、個々のモデルの項目を「選択」に加えて、覚えておいてください基本項目を「選択」する。

+0

それは問題です。私はJavaScriptに触れたくないので、QtとQMLですべてをやりたいと思います。 – Circuitdude

+0

@Circuitdude QMLはJSです。 jsスクリプトを使ったjsonのようなマークアップです。 – dtech

+1

もう1つの選択肢はC++を使用することですが、 'ListModel'にはパブリックC++ APIもありません。 QMLを使用する場合は、JSを使用します。その周りには方法はありません。 – dtech

関連する問題