Если я поместил MouseArea
на элемент QML, то MouseArea
украдет все события мыши. Таким образом, TextEdit
будет неотделим и не поддается выбору.MouseArea украл события мыши элемента QML
TextEdit {
// some properties
MouseArea {
// some properties
OnClicked: { /* do something */ }
}
}
Есть ли способ решить эту проблему?
Кстати, если я положил большой MouseArea
на другой MouseArea
, то больше MouseArea
украдет все события мыши. Как это решить? Я думаю, что передача событий мыши вручную может решить это, но как это сделать?
Я искал решение чего-то еще, когда я наткнулся на это, и просто подумал, что я бы указал, что есть некоторые обработчики сигналов, для которых устанавливается «мышь».accept = false' не имеет эффекта (поиск 'MouseArea' docs для' не имеет никакого эффекта ', чтобы найти их все). – Mitch
Это решение не работает, если я хочу постоянно обновлять mouseX и mouseY. Измените TextEdit в приведенном выше примере кода, чтобы показать местоположение мыши X, Y, и вы увидите, что он перестает обновляться всякий раз, когда удерживается кнопка мыши. Установка «mouse.accepted = false» в onPressed приводит к тому, что свойства MouseArea не обновляются до тех пор, пока кнопка не будет отпущена. Не уверен, что это ошибка? –