我试图创建一个出现在 Qt 5.5 中的简单 treeView ,问题是树的项目中的文本不显示,尽管模型已满。
有我的代码:
树视图PM.qml
Qt 代码:切换视图
import QtQuick 2.2
import QtQuick.Controls 1.4
import QtQml.Models 2.2
import KMTreeModelPM 1.0
Item {
KMTreeModelPM {
id: treeModel
}
ItemSelectionModel {
id: sel
model: treeModel
}
Text {
id:txt
text: " "
}
TreeView {
id: view
anchors.fill: parent
anchors.margins: 12
selection: sel
headerVisible : false
itemDelegate: Rectangle {
color: ( styleData.row % 2 == 0 ) ? "white" : "lightblue"
height: 20
Text {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left // by default x is set to 0 so this had no effect
text: styleData.value
}
}
TableViewColumn {
id : title
title: "Title"
role: "title"
resizable: true
horizontalAlignment : Text.AlignLeft
}
model: treeModel
onDoubleClicked: txt.text = treeModel.data(index,0)
}
}
要复制到剪贴板,请将视图切换到纯文本模式
main.qml
Qt 代码:切换视图
import QtQuick 2.2
import QtQuick.Controls 1.4
import QtQml.Models 2.2
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
Rectangle {
width: 785
TabView {
x: 17
y: 8
width: 970
height: 800
currentIndex: 2
visible: true
Tab {
id: tabAddProfile
title: qsTr("Add Profile")
AddProfilePage{}
}
Tab {
id: tabAddTypeSubType
title: qsTr("Add Type/SubType")
AddTypeSubTypePage{}
}
Tab {
id: tabAddDetail
height: 413
visible: true
title: qsTr("Add Detail")
TreeViewPM {}
}
}
}