
BlinCTFeb. 6, 2021, 2:31 a.m.
Применение нужных настроек(цвет, ширина) в графике для определенных обьектов
Всем привет.
Пытаюсь решить такую проблему:
есть булевое значение наличия или отсутствия заголовков в таблице, так же для строк в таблице через 1 строку применяется дизайн.
Я вызываю функцию и передаю туда индекс, там и происходит те или иные указания для цвета и ширины границы.
И ошибку я получаю
ReferenceError: delegateRect is not defined
Вопрос, что я делаю не так?)
Благодарю заранее
import QtQuick 2.12 Item { id: root property var model property bool headers : false function getSize(column) { return tableView.model.getSizeLongString(column) } function foo(indexRow) { if (headers == true) { console.log("indexRow", headers) if (indexRow % 2 == 0) { delegateRect.color = "transparent"; delegateRect.border.width = 0; } else { delegateRect.color = "#2C3033"; delegateRect.border.width = 1; } } else { console.log("indexRow", headers) if (indexRow % 2 != 0) { delegateRect.color = "transparent"; delegateRect.border.width = 0; } else { delegateRect.color = "#2C3033"; delegateRect.border.width = 1; } } } Row { id: rowHeader anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right height: visible ? 35 : 0 visible: root.headers enabled: !root.headers Repeater { id: headerRepeater model: root.model.headerModel Rectangle { id: rectHeader width: root.model.getSizeLongString(index) border.color: "blue" height: 35 Component.onCompleted: { root.model.setHeaderItem(rectHeader); } Text { width: 50 height: 35 anchors.fill: parent text: root.model.headerData(modelData, Qt.Horizontal, "display") } } } } 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 property var indexRow: model.index Row { id: rect clip: true Repeater { id: celsRepeater model: root.model.columnCount() Component.onCompleted: { root.foo(delegateRect.indexRow) } 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 color: model.index === 0 ? "#B8B8B8" : "#EAEAEA" text: root.model.getData(indexRow, model.index) } } } } } } }

We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
Ua
- Unknown akadamn
- Jan. 24, 2025, 5:14 p.m.
Qt - Test 001. Signals and slots
- Result:84points,
- Rating points4
Ua
- Unknown akadamn
- Jan. 24, 2025, 4:22 p.m.
Qt - Test 001. Signals and slots
- Result:42points,
- Rating points-8
Last comments
ИМ
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовNov. 22, 2024, 9:51 p.m.

Evgenii LegotckoiOct. 31, 2024, 11:37 p.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовOct. 5, 2024, 4:51 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
f
Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
firstlunoxodFeb. 15, 2025, 1:46 p.m.

ДмитрийFeb. 3, 2025, 4:24 p.m.
не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
добрый, а пробывали обращаться через лист tableView.delegateRect.color="transparent";?
когда-то делал цветные строки в таблице на первых контролах, делал так
Интересно что если я не вызываю функцию а в место нее все if вытаскиваю то это срабатывает. Но через функцию не работает.
Не пойму почему
где-то явно нарушена область видимости обьекта, возможно delegateRect не доступен за пределами своего елемента, нужно смотреть документацию по-глубже.
где-то явно нарушена область видимости обьекта, возможно delegateRect не доступен за пределами своего елемента, нужно смотреть документацию по-глубже.
На самом деле есть такая мысль, надо бы понять как это протестить чтоыб найти ответ)
Кстати такой вопрос который касается имено этого кода, на строке 138 там есть ширина для Rectangle и в нем уже будет текст.
А вот внешнйи делегат у него у Rectangle у меня стоит статический размер ширины.
Вопрос состоит в том, можно ли получая ширину на 138 формировать ширину делегата для всех созданных в репиторе обьектов?
Мне надо как то в нормальный вид привезти то что на 110 и 111 строках.
если я правильно понял, можно добавить property int rec_width:0 в самом начале делегата, тогда там где нужно указать ширину указываем rec_width, а в Component.onCompleted: добавить rec_width=root.model.getSizeLongString(index), тогда будет перерисовываться по указанному размеру (должно сработать), или отдельно в модели передавать ширину, тогда будет что-то вроде property int rec_width:root.model.getSize(). возможно путанно написал, надеюсь идею поняли
Добрый вечер.
Спасибо за совет. По сути я идею понял но она получается не рабочей.
Потому что с начале у делегата имеется пропертя данная, потом ширина implicitWidth: 543 которая и дает ширину данной строки, а уже после репитер создает данные 2 или более ячеек, и только тогда пропертя получает размер.
В общем не получается так(