개발자 준비중인 블로그
qml ListView delegate 내부의 MouseArea 문제 본문
qml 에서 ListView의 Delegate를 사용할 때
Delegate에 TextField나 button 등의 MouseArea에 접근이 불가능한 경우가 있다
보통 MouseArea가 겹쳐서 일어나게 되는 현상이다
이런 경우 보통 하나의 MouseArea의 enabled 를 false로 두는 방식이 있지만
두개의 MouseArea를 작동시키게 하고 싶다면 propagateComposedEvents: 옵션을 사용하는 방법이 있다.
<code>
MouseArea {
..
propagateComposedEvents: true
...
onClicked {
...
mouse.accepted = false
}
...
}
가장 상위에 있는 MouseArea에 해당 옵션과 함께
onClicked에 mouse.accepted = false 를 넣어 주면 하위에 있는
MouseArea 또한 작동하게 된다
참고 )
https://doc.qt.io/qt-5/qml-qtquick-mousearea.html#propagateComposedEvents-prop
MouseArea QML Type | Qt Quick 5.13.1
MouseArea QML Type Enables simple mouse handling. More... Import Statement: import QtQuick 2.13 Inherits: Item Properties Signals Detailed Description A MouseArea is an invisible item that is typically used in conjunction with a visible item in order to pr
doc.qt.io