Как применять разные стили к строкам в QML TreeView - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть требование для отображения дерева в 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 голосов
/ 04 апреля 2019

Для тех, кто заинтересован, я думаю, что это правильный способ сделать это

    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"
            }
...