BlinCT
BlinCT15. September 2023 12:35

Размеры полей в TreeView

qml

Всем привет.
Пытаюсь сделать дерево вот такого вида

Дерево treeview
Пытаюсь организовать делегат для каждой строки в дереве. ТО есть отступ какого то размера и если при открытии есть подсписок то увеличивать наверное с каждым шагом по 2.
Но что-то не моуг правильно выстроить данные для строки.
Может кто поправить меня где ошибка у меня?
Вот часть кода:

Rectangle
        {
            SplitView.minimumWidth: root.width * 0.1
//            SplitView.maximumWidth: root.width * 0.25

            width: root.width * 0.5

            color: "#5a5a5a" // TODO: need from C++

            TreeView
            {
                id: treeViewBookmark

                anchors.fill: parent

                clip: true

                delegate: Item
                {
                    id: treeDelegate
                    required property int page
                    required property point location
                    required property real zoom
//                    color: "yellow"

//                    implicitWidth: padding + label.x + label.implicitWidth + padding
                    implicitHeight: label.implicitHeight * 1.5

                    readonly property real indent: 20
                    readonly property real padding: 5

//                    // Assigned to by TreeView:
                    required property TreeView treeView
                    required property bool isTreeNode
                    required property bool expanded
                    required property int hasChildren
                    required property int depth

                    RowLayout
                    {
                        spacing: treeViewBookmark.width * 0.03

                        anchors.fill: parent

                        Rectangle
                        {
                            id: name

                            Layout.fillHeight: true
                            width: treeDelegate.padding + (treeDelegate.depth * indicator.width)
                            color: "yellow"
//                            Layout.width: treeDelegate.padding + (treeDelegate.depth * treeDelegate.indent)
                        }

                        Rectangle
                        {
                            id: rectIndicator

                            width: childrenRect.width

                            Text
                            {
                                id: indicator
                                visible: treeDelegate.isTreeNode && treeDelegate.hasChildren
//                                x: padding + (treeDelegate.depth * treeDelegate.indent)
                                anchors.verticalCenter: label.verticalCenter
                                text: "▸"
                                rotation: treeDelegate.expanded ? 90 : 0
                            }
                        }

                        Rectangle
                        {
                            id: rectTabel

                            Text
                            {
                                id: label
                                anchors.fill: parent

                                clip: true
                                text: model.display
                                color: "#b7b7b7"
                            }
                        }


                    }

                    TapHandler {
                        onTapped: {
                            treeView.toggleExpanded(row)
                            var qi = treeViewBookmark.index(row, 0)
                        }
                    }
                }

                model: PdfBookmarkModel
                {
                    document: docPdf
                }

                ScrollBar.vertical: ScrollBar { }
            }
        }

Заранее благодарю

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

0

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken