Я хочу создать элемент QML, который исчезает, когда мышь перемещается за его пределы. Вот мой код:Поймать события мыши из QML
Item {
id: disappearing_element
ListView { ... }
MouseArea {
id: collapser
anchors.fill: parent
propagateComposedEvents: true
hoverEnabled: true
onExited: {
disappearing_element.visible = false
}
}
}
Он хорошо работает, но MouseArea
распространяется события, как только onClicked()
onDoubleClicked()
(как сказано в Qt документации).
Есть ли способ уведомить детей disappearing_element
о событиях ввода мыши и мыши (без использования элемента Popup
)?
Вы можете использовать 'исчезающий_element.visible' для уведомлений для детей путем привязки к нему, т. Е.' Свойство bool someProp: parent.visible; onSomePropChanged: {... ваши вещи ...} ' – dtech
Вы меня неправильно поняли. Я хочу распространять MouseEvent на дочерние элементы 'исчезающих_элементов', чтобы проверить, содержит ли один из них указатель мыши или нет. –
Вы пытались использовать функцию 'Item itemAt (int x, int y)' 'ListView'? – dtech