QML:ListView委托:items vs. MouseArea

时间:2017-04-19 20:05:26

标签: qml qtquick2 qtquickcontrols2

我有以下代码:

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

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

我知道MouseArea的{​​{3}}属性...但我必须实现其所有鼠标事件(clickedpressed,{{ 1}},...)并检查鼠标光标是否在复选框中,或者相应地设置released属性。

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

1 个答案:

答案 0 :(得分:5)

您可以将 否定 值应用于MouseArea的{​​{3}}属性。

来自文档:

  

具有较高堆叠值的项目将在具有较低堆叠顺序的兄弟姐妹之上绘制。具有相同堆叠值的项目按其出现的顺序自下而上绘制。具有负堆叠值的项目将在其父级内容下绘制。