Reputation: 344
I want to display a big list on a small display. The problem with the ListView is, that I have to setup a orientation, whether it is flickable horizontal or vertical.
What I tried is:
Heres a simple example:
import QtQuick 2.2
import QtQuick.Window 2.1
Window {
visible: true
width: 360
height: 360
ListModel {
id: fruitModel
ListElement {
name: "Apple"
cost: 2.45
}
ListElement {
name: "Orange"
cost: 3.25
}
ListElement {
name: "Banana"
cost: 1.95
}
}
ListView {
anchors.fill: parent
model: fruitModel
delegate: Rectangle {
id: delegateRect
height: 150
width: 545
border.color: "steelblue"
border.width: 1
Row {
Text {
id: nameLabel
width: 345
text: name
}
Text {
id: costLabel
width: 200
text: cost
}
}
}
}
}
Upvotes: 0
Views: 4703
Reputation: 386
I found it in the Qt Doc: https://doc.qt.io/qt-5/qml-qtquick-listview.html It works for me :)
Upvotes: 0
Reputation: 7682
I think the solution you are searching for is Repeater
.
The Repeater type is used to create a large number of similar items. Like other view types, a Repeater has a model and a delegate: for each entry in the model, the delegate is instantiated in a context seeded with data from the model. A Repeater item is usually enclosed in a positioner type such as Row or Column to visually position the multiple delegate items created by the Repeater.
The resulting Row
(Column
resp.) can be enclosed in a Flickable
which provides the actual flicking ability.
Upvotes: 1