QML: Button внутри MouseArea блокирует mouse hover
Есть большая область, которая подсвечивается при наведении. Внутри этой области есть кнопка:
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
Rectangle {
id: background
anchors.fill: parent
color: mouseArea.containsMouse ? "red" : "green"
}
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onEntered: console.log("onEntered")
onExited: console.log("onExited")
//onPositionChanged: console.log("position", mouse.x, mouse.y)
Button {
id: button
anchors.centerIn: parent
width: 200
height: 100
}
}
}
В Qt5 если провести мышкой поверх кнопки, то свойство containsMouse сохранит значение true и не возникнет событий onExited и onEntered.
Если переключится на Qt6, то при проведении мышкой поверх кнопки приходят события onExited и onEntered и containsMouse становится false.
Такое поведение приводит к неприятным последствиям. В Qt5 при наведении на кнопку внутри области подсветка ведёт себя нормально (не исчезает, не мелькает). В Qt6, если провести мышью над кнопками подсветка начинает мелькать.
Мне нужно, чтобы поведение containsMouse было как в Qt5. Можно ли сделать это простым способом?