QMLのコントロール - ListView
ナビゲーションに移動
検索に移動
概要
アイテムのインデックスの取得
画面に表示されている現在のアイテムのインデックスを取得する方法は、いくつか存在する。
ListViewのindexAtメソッド
現在の画面のxy座標を利用する場合、ListViewのindexAtメソッドを使用することができる。
indexロール
各デリゲートでは、デリゲートのスコープ内でindexロールを使用してインデックスを見つけることもできる。
インデックスは、modelで宣言したロールのようなものであり、ListViewにより自動的に割り当てられる。
indexロールの詳細は、以下のWebサイトを参照すること。
http://qt-project.org/doc/qt-5/qtquick-modelviewsdata-modelview.html#qml-data-models
ListView
{
delegate: ColumnLayout
{
property int indexOfThisDelegate: index
// ...略
}
}
モデル内のアイテムのインデックスを含む特別なインデックスロールも、デリゲートが利用できる。
モデルからアイテムを削除した場合、このインデックスは-1に設定されることに注意する。
ListViewのcurrentItemプロパティ
ListViewのcurrentItemプロパティに明示的に値を割り当てて、ListView自身でスクロールできるようにする。
ListViewのcurrentItemプロパティの詳細は、以下のWebサイトを参照すること。
http://qt-project.org/doc/qt-5/qtquick-views-objectmodel-objectmodel-qml.html