QML Перемещение курсора между MouseArea

Суть проблемы: есть две области MouseArea, когда я перемещаю курсор мыши между ними, они реагируют на его наличие, однако, если в одном из MouseArea была нажата кнопка мыши, то второй MouseArea перестаёт видеть, отслеживать положение курсора. Надеюсь я понятно объяснил.

Это происходит из-за того, что, после нажатия кнопки мыши, MouseArea, в котором находился курсор во время нажатия, "захватывает" все события мыши до тех пор, пока кнопка не будет отпущена пользователем.

Вопрос: как сделать так, чтоб когда курсор покинет область MouseArea, события мыши отвяжутся от этой MouseArea ? Чтоб когда убираешь курсор из MouseArea, read-only свойство pressed этой MouseArea становилось false вне зависимости от того, отпустил пользователь кнопку мыши, или нет.

Item {
        anchors.fill: parent

        Rectangle {
            id: rect1
            anchors.verticalCenter: parent.verticalCenter
            anchors.right: parent.horizontalCenter
            anchors.rightMargin: 25
            width: 100
            height: 100
            color: 'green'
            MouseArea {
                id: rect1_Area
                anchors.fill: rect1
                hoverEnabled: true

                onPressedChanged: {
                    console.log('rect1', (rect1_Area.pressed?'':'un') + 'pressed')
                }
                onContainsMouseChanged: {
                    console.log('rect1', (rect1_Area.containsMouse?'':'not ') + 'contain mouse')
                }
            }
        }

        Rectangle {
            id: rect2
            anchors.verticalCenter: parent.verticalCenter
            anchors.left: parent.horizontalCenter
            anchors.leftMargin: 25
            width: 100
            height: 100
            color: 'red'
            MouseArea {
                id: rect2_Area
                anchors.fill: rect2
                hoverEnabled: true

                onPressedChanged: {
                    console.log('rect2', (rect2_Area.pressed?'':'un') + 'pressed')
                }
                onContainsMouseChanged: {
                    console.log('rect2', (rect2_Area.containsMouse?'':'not ') + 'contain mouse')
                }
            }
        }
    }

Ответы (0 шт):