BlinCTJan. 29, 2021, 12:42 p.m.

Получение индерсов столбцов и строк в 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.
Интересно то что колличество созданных строк то которое и должно быть, но почему индекс не меняется я не понимаю.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
1
  • Feb. 4, 2021, 4:33 p.m.
  • The answer was marked as a solution.

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

 delegate:  Rectangle
        {
            id: delegateRect

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

            property var indexRow: model.index

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

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting
C

C++ - Test 005. Structures and Classes

  • Result:75points,
  • Rating points2
AE

C++ - Test 005. Structures and Classes

  • Result:25points,
  • Rating points-10
m

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

  • Result:28points,
  • Rating points-10
Last comments
AB

Qt/C++ - Lesson 008. QDataWidgetMapper - Working with the database via a widget

Понял сам так - происходит через setTable() "Sets the database table on which the model operates to tableName. Does not select data from the table, but fetches its field information", а затем че…
AB

Qt/C++ - Lesson 008. QDataWidgetMapper - Working with the database via a widget

Начал делать что-то похожее, но без sql. Не очень понимаю, что делает mapper->setCurrentModelIndex(model->index(row,0)); Вернее не понимаю вот что: откуда он берёт данные, кот…
IV

Qt/C++ - Lesson 048. QThread — How to work with threads using moveToThread

Не получается сделать connect, получаю гору ошибок. В чем может быть дело ?
IV

Qt/C++ - Lesson 034. Echo Server based on QTcpServer

Добрый день, разрешите вопрос: во всех примерах работы с QTcpServer его всегда создают в main.cpp, нет ли возможности корректно сохдать его в MainWindow.cpp ? Просто если перенести код…
D

Django - Tutorial 001. Deploying a site on Django + PostgreSQL + Gunicorn + Nginx

А почему нельзя? Где можно об этом почитать? Киньте, пожалуйста, в меня ссылкой.
Now discuss on the forum

Отправка картинки в DRF

Да я знаю ;-) используйте, пожалуйста, в следующий раз средства сайта. В данном случае сторонний сервис ни к месту.
  • BlinCT
  • April 9, 2021, 8:15 a.m.

Работа с созданным обьектом qml через Qt.createComponent

Добрый день. И как это решает мою проблему?) Item{ id: root property var model property bool headers : false property string objectName property int iMaxWidthRow:…

Проект на cmake и QCharts

Кто-нибудь сталкивался с проблемой скроллинша чарта ? если допустим увеличить в ширину сам чарт, как скроолить весь чарт а не только его видимую часть ?

Ожидание ввода QLineEdit

Попробовал, крешится напрочь... Такое чуство что таймер не удаляется.... и к нему снова идет обращение....

QScrollArea dynamically add QCheckBoxes

Всё правильно. Это просто спамер, который отправился в вечный бан.
About
Services
© EVILEG 2015-2020
Recommend hosting TIMEWEB