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

2020-04-01 11:21:18 浏览数 (3)

❝本例演示如何使用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安装目录」找到:
代码语言:javascript复制
C:Qt{你的Qt版本}Examples{你的Qt版本}quickmousearea
  • 「相关链接」
代码语言:javascript复制
https://doc.qt.io/qt-5/qtquick-mousearea-example.html

0 人点赞