如何将不同的样式应用于QML TreeView中的行

时间:2019-04-02 09:13:14

标签: qml treeview

我需要在QML中显示树视图。数据看起来像这样

title item
    sub item
    sub item
title item
    sub item

我需要做的是在所有标题项而不是子项旁边显示一个复选框

我设法获得了所有项目的复选框,但我不知道如何仅显示标题项目

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    TreeView {
        model: myModel

        alternatingRowColors: false
        anchors.fill: parent

        headerDelegate: {
            visible: false
        }

        TableViewColumn {
            title: "Name"
            role: "display"
            width: 300
        }

        itemDelegate: Item {
            id: itemId

            CheckBox {
                anchors.verticalCenter: parent.verticalCenter
                text: styleData.value.text
            }
        }

    }
}

1 个答案:

答案 0 :(得分:0)

对于任何有兴趣的人,我认为这是正确的方法

    itemDelegate: Loader {
        property string imageSource: model.imageSource
        property string title: model.title
        property int fontSize: model.fontSize
        property string subText: model.subText
        source: {
            switch (model.type)
            {
            case 0:
                return "TopLevelComponent.qml"
            case 1:
                return "StationComponent.qml"
            case 2:
                return "StationComponent.qml"
            }