Qt官方示例-Qml鼠标点击与拖拽

❝本例演示如何使用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