http://doc.qt.nokia.com/4.7-snapshot/qml-mouseevent.html#accepted-prop ?
On Fri, Jan 7, 2011 at 11:51 AM, Gregory Schlomoff <[email protected]> wrote: > Hello, > > We are in a situation where we have one big MouseArea on top handling > click events and several smaller MouseAreas below handling > double-click events. > > Unfortunately, there is currently no way in QML to say that an event > should "bubble" up or down to the next receiver. The top MouseArea > will always catch all events, and the MouseAreas below will get > nothing. > > There is a very specific solution when the event you want to handle in > the topmost MouseArea is onDrag. In this case, you can use > drag.filterChildren: true to let the topmost MouseArea catch only drag > event and pass other events to MouseAreas beneath. But it won't work > for other events. > > We devised a ugly hack to work around this, that basically involves > catching the event in the topmost MouseArea and manually calling the > event handler on any MouseArea underneath: > > =============== > import QtQuick 1.0 > > Rectangle { > width: 360 > height: 360 > > MouseArea { > anchors {fill: parent; margins: 40} > onClicked: console.log("hello from below"); > } > > MouseArea { > id: mouseArea > anchors.fill: parent > > onClicked: { > console.log("hello from top") > forwardEvent(mouse, "clicked"); > } > > function forwardEvent(event, eventType) { > mouseArea.visible = false > var item = parent.childAt(event.x, event.y) > mouseArea.visible = true > if (item && item != mouseArea && > typeof(item[eventType]) == "function") { > item[eventType](event); > } > } > } > } > =============== > > What do you think? Are there any better solutions? Should this be a > built-in functionnality in QML so that we can avoid this hack, > especially the fact that we have to hide / show the element to get > elements below. Any feedback is appreciated. > > Thanks, > > Greg > _______________________________________________ > Qt-qml mailing list > [email protected] > http://lists.qt.nokia.com/mailman/listinfo/qt-qml > _______________________________________________ Qt-qml mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt-qml
