QML:ListView 委托:项目与 MouseArea

QML: ListView delegate: items vs. MouseArea

我有以下代码:

ListView {
    delegate: MyDelegate {
        MouseArea {
            anchors.fill: parent
            /*some other stuff*/
        }
    }
}

问题是 MyDelegate 包含复选框和来自它们的 MouseArea "steals" 鼠标事件。它们根本不对鼠标事件做出反应,即不按预期工作。

我知道 MouseAreapropagateComposedEvents 属性...但是我必须实现它的所有鼠标事件(clickedpressed, released,...) 并检查鼠标光标是否在复选框中以相应地设置 mouse.accepted 属性。

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

您可以将 负数 值应用于 MouseAreaz 属性。

来自文档:

Items with a higher stacking value are drawn on top of siblings with a lower stacking order. Items with the same stacking value are drawn bottom up in the order they appear. Items with a negative stacking value are drawn under their parent's content.