C
鼠标区域 QML 类型
启用简单的触摸处理。 更多...
导入声明 | import QtQuick |
自 | Qt Quick Ultralite 1.0 |
继承 |
属性
- mouseX : real
- mouseY : real
- pressAndHoldInterval : int
- pressed : bool
信号
- canceled()
- clicked(MouseEvent mouse)
- positionChanged(MouseEvent mouse)
- pressAndHold(MouseEvent mouse)
- pressed(MouseEvent mouse)
- released(MouseEvent mouse)
详细说明
鼠标区域是一个不可见的项,通常与可见的项一起使用,以提供对此项的触摸处理。通过有效地充当代理,触摸处理的逻辑可以包含在鼠标区域项中。
使用 enabled 属性来启用和禁用代理项的触摸处理。当禁用时,区域对触摸事件变得透明。
鼠标区域是一个不可见的项,但它具有一个可见属性。当设置为 false 时,区域对触摸事件变得透明。
pressed 只读属性指示用户是否正在按下鼠标区域。此属性通常用于用户界面中属性的绑定之间。
通过定义事件处理属性提供有关触摸位置和按下状态的详细信息。最常用的包括处理触摸按下:onClicked、onPressed、onReleased 和 onPressAndHold。
如果鼠标区域与另一个鼠标区域项的区域重叠,则只有顶部区域将接收到事件。
示例用法
以下示例使用了一个矩形中的MouseArea,当点击时,它会将矩形颜色改变为红色
import QtQuick 2.15 Rectangle { width: 100; height: 100 color: "green" MouseArea { anchors.fill: parent onClicked: { parent.color = 'red' } } }
许多MouseArea信号会传递一个包含关于触摸事件额外信息(如位置)的 mouse 参数。
这里是一个扩展的示例,当触摸时间足够长时,它会产生不同的颜色
Rectangle { width: 100; height: 100 color: "green" MouseArea { anchors.fill: parent onClicked: { if (mouse.wasHeld) parent.color = 'blue'; else parent.color = 'red'; } } }
另请参阅:MouseEvent.
属性文档
pressAndHoldInterval : 整数 |
(自Qt Quick Ultralite 1.1起)pressed : 布尔 |
此属性表示是否发生了任何触摸。
此属性自Qt Quick Ultralite 1.1引入。
信号文档
|
clicked(MouseEvent mouse) |
positionChanged(MouseEvent mouse) |
|
|
|
在某些Qt许可下提供。
了解更多。