❝本例演示如何使用Qml的MouseArea实现区域鼠标点击和拖拽的功能。 ❞

当您在红色方块内单击鼠标时,界面下方区域文本将显示出单击鼠标的一些属性,这些属性可用于QML中。按下鼠标时,红色方块的不透明度将降低,并保留在MouseArea内。当其中发生单击或双击等其他操作时,MouseArea会发出对应的信号。
代码语言:javascript复制MouseArea {
...
onPressAndHold: btn.text = 'Press and hold'
onClicked: btn.text = 'Clicked (wasHeld=' mouse.wasHeld ')'
onDoubleClicked: btn.text = 'Double clicked'
...
}
MouseArea也可以用于拖拽控件。通过设置drag属性的参数,如果用户在鼠标区域内拖动,则将会拖动目标控件到指定位置。
代码语言:javascript复制MouseArea {
anchors.fill: parent
//! [drag]
drag.target: blueSquare
drag.axis: Drag.XAndYAxis
drag.minimumX: 0
drag.maximumX: box.width - parent.width
drag.minimumY: 0
drag.maximumY: box.height - parent.width
//! [drag]
}
关于更多
- 在「QtCreator软件」可以找到:

- 或在以下「Qt安装目录」找到:
C:Qt{你的Qt版本}Examples{你的Qt版本}quickmousearea
- 「相关链接」
https://doc.qt.io/qt-5/qtquick-mousearea-example.html


