QML:ListView委托:项目与MouseArea

Ale*_*lev 2 qml qtquick2 qtquickcontrols2

我有以下代码:

ListView {
    delegate: MyDelegate {
        MouseArea {
            anchors.fill: parent
            /*some other stuff*/
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题在于它MyDelegate包含复选框和MouseArea从中“窃取”鼠标事件。它们根本不会对鼠标事件做出反应,即无法按预期工作。

我知道propagateComposedEvents的财产MouseArea......但我必须实现所有的鼠标事件(clickedpressedreleased,...),并检查鼠标光标是否在复选框或不设置mouse.accepted相应属性。

这就是我目前对所有这些的理解。有没有更简单的方法,即能够处理未明确处理鼠标事件的区域的所有鼠标事件?例如静态文本,进度条等。

Evg*_*eny 6

您可以将负值应用于的z属性MouseArea

从文档中:

具有较高堆叠值的项目会在具有较低堆叠顺序的同级项上绘制。具有相同堆叠值的项目按照它们出现的顺序从下至上绘制。堆叠值为负的项目将绘制在其父项的内容下。