BlinCT
BlinCT29 січня 2021 р. 12:42

Получение индерсов столбцов и строк в ListView

Всем привет.
Возникла необходимость через индексы поулчать данные для таблицы.

ListView
    {
        id: tableView

        anchors.top:  headers ? rowHeader.bottom : root.top
        anchors.left: parent.left
        anchors.right: parent.right
        anchors.bottom: parent.bottom

        flickableDirection: TableView.VerticalFlick

        clip: true
        model: root.model

        delegate:  Rectangle
        {
            id: delegateRect

            color: "transparent"
            implicitWidth: 543
            implicitHeight: 22
            border.width: 1
            radius: 5


            Row
            {
                id: rect
                clip: true

                Repeater
                {
                    id: celsRepeater

                    model: root.model.columnCount()


                    Rectangle
                    {
                        id: rextText

                        border.color: "blue"
                        color: "#2C3033"
                        width: root.model.getSizeLongString(index)
                        height: 15

                        Text
                        {
                            width: 50
                            height: 35

                            anchors.fill: parent
                            font.pixelSize: 12
                            verticalAlignment: Text.AlignTop
                            text: root.model.getData(celsRepeater.index, tableView.currentIndex)
                        }
                    }
                }
            }
        }
    }

В С++ метод getData() я передаю индексы строки и столбца. По сути при создании ковой строки в ListView индекс меняется и должен я получать новые данные. Но ногда я прост ов консоль вывожу номера этих индексов то получаю

qml: index: 0 - 0
qml: index: 0 - 1
qml: index: 0 - 0
qml: index: 0 - 1
qml: index: 0 - 0
qml: index: 0 - 1
qml: index: 0 - 0
qml: index: 0 - 1

В данной модели у меня 2 столбца и штук 15 строк. То есть индекс для столбцов меняется а строка все время 0.
Интересно то что колличество созданных строк то которое и должно быть, но почему индекс не меняется я не понимаю.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

1
BlinCT
  • 04 лютого 2021 р. 16:33
  • Відповідь була позначена як рішення.

Вопрос закрыт.
Решение было таким, в деоегат передается индекс из модели.

 delegate:  Rectangle
        {
            id: delegateRect

            color: "transparent"
            implicitWidth: 543
            implicitHeight: 22
            border.width: 1
            radius: 5

            property var indexRow: model.index

И после этого уже в нужнмо нам месте мы получаем индекс строки.

    Коментарі

    Only authorized users can post comments.
    Please, Log in or Sign up
    Дмитрий

    C++ - Тест 004. Указатели, Массивы и Циклы

    • Результат:60бали,
    • Рейтинг балів-1
    Дмитрий

    C++ - Тест 003. Условия и циклы

    • Результат:92бали,
    • Рейтинг балів8
    d
    • dsfs
    • 26 квітня 2024 р. 14:56

    C++ - Тест 004. Указатели, Массивы и Циклы

    • Результат:80бали,
    • Рейтинг балів4
    Останні коментарі
    k
    kmssr09 лютого 2024 р. 05:43
    Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
    АК
    Анатолий Кононенко05 лютого 2024 р. 12:50
    Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
    EVA
    EVA25 грудня 2023 р. 21:30
    Boost - статичне зв&#39;язування в проекті CMake під Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
    J
    JonnyJo25 грудня 2023 р. 19:38
    Boost - статичне зв&#39;язування в проекті CMake під Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
    G
    Gvozdik19 грудня 2023 р. 08:01
    Qt/C++ - Урок 056. Підключення бібліотеки Boost в Qt для компіляторів MinGW і MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
    Тепер обговоріть на форумі
    G
    George1307 травня 2024 р. 10:27
    добавить qlineseries в функции в функции: "GPlotter::addSeries(QString title, QVector &arr)" я вызываю метод setChart(...), я в конструктор передал адрес на QChartView элемент
    BlinCT
    BlinCT05 травня 2024 р. 15:46
    Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
    PS
    Peter Son04 травня 2024 р. 03:57
    Best Indian Food Restaurant In Cincinnati OH Ready to embark on a gastronomic journey like no other? Join us at App india restaurant and discover why we're renowned as the Best Indian Food Restaurant In Cincinnati OH . Whether y…
    Evgenii Legotckoi
    Evgenii Legotckoi03 травня 2024 р. 00:07
    Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.
    IscanderChe
    IscanderChe30 квітня 2024 р. 14:22
    Во Flask рендер шаблона не передаётся в браузер Доброе утро! Имеется вот такой шаблон: <!doctype html><html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_…

    Слідкуйте за нами в соціальних мережах