Using a ListView with a simple delegate component.
This commit is contained in:
@ -17,6 +17,7 @@ qt_add_qml_module(${TARGET_APP}
|
|||||||
URI GenericQML
|
URI GenericQML
|
||||||
QML_FILES
|
QML_FILES
|
||||||
Main.qml
|
Main.qml
|
||||||
|
QML_FILES ListPage.qml
|
||||||
)
|
)
|
||||||
|
|
||||||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
||||||
|
|||||||
37
ListPage.qml
Normal file
37
ListPage.qml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
import QtQuick.Controls.Material
|
||||||
|
|
||||||
|
Page {
|
||||||
|
id: page
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: contactDelegate
|
||||||
|
Item {
|
||||||
|
id: myItem
|
||||||
|
required property string name
|
||||||
|
required property string info
|
||||||
|
width: parent.width
|
||||||
|
height: 40
|
||||||
|
Column {
|
||||||
|
Text {
|
||||||
|
text: '<b>Name:</b> ' + myItem.name
|
||||||
|
}
|
||||||
|
Text {
|
||||||
|
text: '<b>Number:</b> ' + myItem.info
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ListView {
|
||||||
|
anchors.fill: parent
|
||||||
|
model: mainModel
|
||||||
|
delegate: contactDelegate
|
||||||
|
highlight: Rectangle {
|
||||||
|
color: "lightsteelblue"
|
||||||
|
radius: 5
|
||||||
|
}
|
||||||
|
focus: true
|
||||||
|
}
|
||||||
|
}
|
||||||
38
Main.qml
38
Main.qml
@ -3,37 +3,17 @@ import QtQuick.Layouts
|
|||||||
import QtQml.Models
|
import QtQml.Models
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
width: 640
|
id: window
|
||||||
height: 480
|
width: 480
|
||||||
|
height: 800
|
||||||
visible: true
|
visible: true
|
||||||
title: qsTr("Hello World")
|
title: `${Application.name}`
|
||||||
|
|
||||||
ColumnLayout {
|
property color textColor: "black"
|
||||||
|
property int fontSize: 16
|
||||||
|
|
||||||
|
ListPage {
|
||||||
|
id: listPage
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
Text {
|
|
||||||
text: "Model row count: " + mainModel.rowCount()
|
|
||||||
Layout.alignment: Layout.Center
|
|
||||||
}
|
|
||||||
|
|
||||||
TableView {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.fillHeight: true
|
|
||||||
|
|
||||||
Layout.margins: 10
|
|
||||||
columnSpacing: 1
|
|
||||||
rowSpacing: 1
|
|
||||||
clip: true
|
|
||||||
|
|
||||||
model: mainModel
|
|
||||||
|
|
||||||
delegate: Rectangle {
|
|
||||||
implicitWidth: 100
|
|
||||||
implicitHeight: 50
|
|
||||||
Text {
|
|
||||||
text: display
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user