关于父子间的qt鼠标事件

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

    }

    }

    }


}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容