У меня проблемы с вложенными MouseArea
с. Когда я нажимаю красный Rectangle
, он вызывает событие exited
наверху Rectangle
(для меня как минимум). Это намеренное поведение? Если да, есть ли обходной путь?Вложенный указатель мыши.
Редактировать
Разъяснение
То, что я хочу, чтобы иметь возможность держать парить на верхней Rectangle
при щелчке ребенка Rectangle
(верхняя Rectangle
должна остаться blue
). Это полезно, если я хочу скрыть и отобразить кнопки и т. Д. При наведении курсора, что является обычной практикой в веб-интерфейсах (HTML/CSS). Выполнение этого теперь вызывает странные эффекты, так как нажатие кнопок, обнаруженных сигналом entered
, исчезнет при нажатии на них.
Редактировать
Я сделал демонстрацию Javascript с разыскиваемым поведением: https://jsfiddle.net/uo4vousu/ Даже если вы нажмете на красный прямоугольник родитель остается синим, который является то, что я хочу. В примере QML родитель становится зеленым. Я обновил QML-код, чтобы обработать jsfiddle.
Редактировать
Это может быть линукс только проблема.
Вот пример:
Rectangle {
id: top
width: 100
height: 32
anchors.centerIn: parent
color: "green"
MouseArea {
anchors.fill: parent
hoverEnabled: true
onExited: top.color = "green"
onEntered: top.color = "blue"
Rectangle {
id: child
width: 16
height: 16
anchors.centerIn: parent
color: "red"
MouseArea {
anchors.fill: parent
onPressed: child.color="gray"
onReleased: child.color="red"
}
}
}
}
Ничего из вышеперечисленного на самом деле не решило проблему, я прошу прощения за то, что не указал, что я действительно хотел, я отредактировал свой вопрос, чтобы прояснить проблему. – Nohack
Я понимаю, у меня нет такого поведения, это не логика, что он посылает сигнал выхода, я использую Qt 5.5.0 на окнах – Mido
Я вижу, спасибо. Тогда это может быть проблема linux, поскольку я использую Arch linux. Попробуем это на окнах позже, чтобы подтвердить. – Nohack