Qt官方示例-Qml鼠标点击与拖拽
- 2020 年 4 月 1 日
- 筆記
❝本例演示如何使用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] }
关于更多
- 在「QtCreator软件」可以找到:
- 或在以下「Qt安装目录」找到:
C:Qt{你的Qt版本}Examples{你的Qt版本}quickmousearea
- 「相关链接」
https://doc.qt.io/qt-5/qtquick-mousearea-example.html