d
dmitry.maslovJune 13, 2018, 2:27 p.m.
Получить последний дочерний элемент по клику QML
Есть форма. Состоящую из элементов. Мы перекрываем все MouseArea и при клике на кнопку, нам нужно получить объект этой кнопки, пропустив все перед ним слои. Как это сделать? Пример кода с рекурсией, но он не всегда срабатывает. cntnts - id Главного ITEM
onClicked: { var baz = cntnts.childAt(mouseX, mouseY); var itm =cntnts.childAt(mouseX, mouseY); while(true) { var X1 = mouseX var Y1 = mouseY console.log(itm.objectName); console.log(itm.children.length); console.log(itm.children[0]); console.log(baz.children[0].objectName); console.log(itm.childAt); if(itm.children.length>=0) { baz = itm; itm = itm.childAt(mouseX, mouseY); } else { break; } if (itm.objectName === "BTNL") { break; } } console.log(itm); }
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!
AD
- Akiv Doros
- Nov. 11, 2024, 2:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 1:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 1:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Last comments
ИМ
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовNov. 22, 2024, 11:51 a.m.
Evgenii LegotckoiOct. 31, 2024, 2: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, 7:51 a.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
Evgenii LegotckoiJune 24, 2024, 3:11 p.m.
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey1Nov. 15, 2024, 6:04 a.m.
NSProjectJune 4, 2022, 3:49 a.m.
IscanderCheOct. 31, 2024, 3:43 p.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
Вообще для таких целей (пропуск события клика на ниже лежащие слои) MouseArea имеет свойство propagateComposedEvents, которое по умолчанию выставлено на false, просто установите его в true и проверьте, как будет работать.
А как тогда сделать, если я установлю этот параметр? Что получить объект кнопки, которые Layout и не только
самой кнопке есть обработчик onClicked: в нем можете присовоить какой-нибудь глобальной property, этот объект, а потом уже играть с ним.
Есть вот такой набор кнопок, которые вот так обернуты. Я перекрываю все глобальным MouseArea и кликаю на одну из них. И мне нужно получить переменную в которой будет объект этой кнопки.
на самом деле это всё нужно, чтобы сделать для программы контекстную справку: GUI перекрываем полупрозрачным/прозрачным Item, ловим координаты тапов на этом топовом Item, с помощью функции childAt сопостовляем координаты с тем, что лежит под тапом (контролы, view), и на item показываем плашку с подсказкой к тапнутому элементу. Собственно наша проблема: фукнция childAt не всегда выдаёт ссылки на нижележащие компоненты по координатам. По какому принципу и когда она выдёт ссылку на реальный компонент или возвращает пустую ссылку - мы не смогли разобраться. У нас есть предположение (мы ещё не успели проверить), что в отличие от виджетовского аналога, в qml функция childAt возвращает ссылки только первых потомков, а при большей вложенности она возвращает пустой указатель.
Ну вообще в документации так и написано, что возвращает первый видимый объект, то есть если какие-то невидимы, то они возвращаться не будут.
Спасибо вам от студентов Московского Политеха, работаем на Qt по Проектной деятельности. Tooltip не можем использовать, так как задание - разработать кастомную систему справки.
Почитайте про attached property в QML, тогда сможете написать собственные tooltip`ы
мы не можем каждой кнопке добавлять ToolTip, так как их очень много и они будут добавляться. Задача: именно получить объект по клику на область, минуя вложенность