❝本例演示如何使用Qml的MouseArea实现区域鼠标点击和拖拽的功能。 ❞
当您在红色方块内单击鼠标时,界面下方区域文本将显示出单击鼠标的一些属性,这些属性可用于QML中。按下鼠标时,红色方块的不透明度将降低,并保留在MouseArea内。当其中发生单击或双击等其他操作时,MouseArea会发出对应的信号。
MouseArea {
...
onPressAndHold: btn.text = 'Press and hold'
onClicked: btn.text = 'Clicked (wasHeld=' + mouse.wasHeld + ')'
onDoubleClicked: btn.text = 'Double clicked'
...
}
MouseArea也可以用于拖拽控件。通过设置drag属性的参数,如果用户在鼠标区域内拖动,则将会拖动目标控件到指定位置。
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]
}
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\quick\mousearea
https://doc.qt.io/qt-5/qtquick-mousearea-example.html