1
アイテムのリストを含むXML応答があります。各項目には、サブ項目の別のリストが含まれています。私はそれをQMLのモデルに正常に変換できますが、リストのリストを表示することに問題があります。リストビューの列内のリストビューの列、またはQMLのリストのリストの処理
それぞれのタイトルがあるとしてアイテムのリストをレンダリングしたいと思います。対応するに水平に追加されたサブ項目のリストはColumn
となります。これはListView
を使用して、これらのコンポーネントのそれぞれのQMLドキュメントから簡単にする必要がありますように思えるが、私は2つの問題に実行しているよ:
Column
はの「タイトル」Column
上にオーバーレイされたサブ項目- のみ最初のサブ項目が表示されているが、残りは(
qmlscene
で実行することができます)比較的最小限のQMLを再現しています。ここ
を無視されます。
import QtQuick 2.5
ListView {
width: 640
height: 480
model: ListModel {
ListElement { title: "title 1" }
ListElement { title: "title 2" }
}
delegate: Row {
width: parent.width
Text {
text: title
elide: Text.ElideRight
}
ListView {
orientation: ListView.Horizontal
model: ListModel {
ListElement { name: "name 1"; description: "desc 1" }
ListElement { name: "name 2"; description: "desc 2" }
}
delegate: Column {
Text { text: "name: " + name + "; desc: " + description }
}
}
}
}
予想される出力は次のようになります。
title 1 name: name 1; desc: desc1 name: name 2; desc: desc 2
title 2 name: name 1; desc: desc1 name: name 2; desc: desc 2
は私が間違った場所にListView
を使用していますか?または、希望の結果を得るために使用しなければならない他のコンポーネントがありますか?
これは視覚的に(外部の 'Column'を削除した後 - サブアイテムを横に追加したいので)しかし、AFAICTの違いは、ListViewの場合、内容が大きすぎるとFlickableを実装しているのでスクロールできますが、Repeaterでは画面外に消えるだけです。そして、はい、私はこのポストからの入れ子の 'ListView'sを使用する考えを持っています - http://www.mail-archive.com/[email protected]/msg00808.html。これはバグですか? 'ListView'(または' GridView')でも使えるのでしょうか? –
ネストされたListViewを水平にすることを意味しましたか?少なくとも、サイズを指定する必要があります。隣の列の中の孤独なText要素の場合と同じこと。デフォルトでは、テキストに合わせるために必要なもの(暗黙のサイズ)に拡張されます。 – jpnurmi
明白なサイズと向きを追加しても、残念ながら動作は変更されません。リストはまだ '行'の一番左の位置から始まり、「タイトル」列の上に重ねられていますが、最初の項目だけが表示されます。 –