QML的鼠标事件是通过一个附加对象MouseArea去实现的,作为对象,它可以附加到任意一个Item上供Item处理鼠标事件,它本身是一个不可见的Item,示例:
Item{
width: 120
height: 120
MouseArea{
anchors.fill: parent
}
}
MouseArea这个类型有很多属性常用的是这几个:
1.enabled 控制是否可用。默认为true 设为false则会无视鼠标事件
2.acceptedButtons 设置接收哪些鼠标按键产生的事件(左右中)例如:Qt.LeftButton
3.作用范围,作为一个item需要指定哪里能够就收到,一般直接写 anchors.fill: parent 表示在整个区域都可用
MouseArea内部的常用信号如下:
1.clicked 点击信号
2.doubleClicked 双击信号
3.pressed 按下信号
4.released 释放信号
5.entered 进入信号
6.exited 推出信号
7.pressAndHold 保持按下信号
eg:
Item{
width: 120
height: 120
MouseArea{
anchors.fill: parent
onClicked: {
mouse.x
}
onDoubleClicked: {