关于父子间的qt鼠标事件

2019-10-31  本文已影响0人  shujuan0618

1、子控件不响应父的鼠标事件
可以将子控件放到MouseArea内
2、鼠标事件透传但互不影响
如果是entered hovered exited的话 多个mousearea的关系是parent-child关系就可以透传;是pressed clicked released的话就需要用到propagateComposedEvents属性置为true,且mouse.accept置为false

Rectangle {

    color: "yellow"

    width: 100; height: 100


    MouseArea {

    anchors.fill: parent

    onClicked: console.log("clicked yellow")

    }


    Rectangle {

    color: "blue"

    width: 50; height: 50


    MouseArea {

    anchors.fill: parent

    propagateComposedEvents: true

    onClicked: {

    console.log("clicked blue")

    mouse.accepted = false

    }

    }

    }


}
上一篇 下一篇

猜你喜欢

热点阅读