概述
Qt中ListView加载数据一般有两种方式,一种是直接qml文件中model直接定义并且放置数据,一种是C++代码中定义Model,再setContextProperty的方式暴露给qml域。
步骤
(1)qml界面
import QtQuick 2.0
import QtQuick.Controls 1.5
import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.3
SubPageForm {
title:"切换线路"
property int font_mid_size:24
bodyArea: Rectangle {
id: subroot
color: "#00ffffff"
Image {
id: tablebg
source: "../Resources/tablebg.jpg"
anchors.left: parent.left
anchors.leftMargin: 50
anchors.right: parent.right
anchors.rightMargin: 50
anchors.top: parent.top
anchors.topMargin: 30
ListView {
id: datalist
anchors.fill: parent
interactive:false
header:Rectangle{
width: datalist.width
height: 53
color:Qt.rgba(0,0,0,0)
RowLayout{
anchors.left: parent.left
anchors.right: parent.right
height: parent.height
Text{
text:"序号"
color:"white"
font.pixelSize:font_mid_size
horizontalAlignment: Text.AlignHCenter
Layout.fillWidth:true
}
Text{
text:"线路"
color:"white"
font.pixelSize:font_mid_size
horizontalAlignment: Text.AlignHCenter
Layout.fillWidth:true
}
Text{
text:"方向"
color:"white"
font.pixelSize:font_mid_size
horizontalAlignment: Text.AlignHCenter
Layout.fillWidth:true
}
}
}
delegate:Rectangle{
width: datalist.width