第14章:QML之MouseArea
1,鼠标事件操作
2,代码
import QtQuick 2.0
Rectangle{
width: 50; height: 50 //宽和高都是50
color: "teal" //初始颜色为绿蓝色
MouseArea{
anchors.fill: parent //事件响应充满整个矩形
/*拖拽属性设置*/
drag.target: parent //drag.target用来设置拖动属性的ID
drag.axis: Drag.XAxis //drag.axis用来设置拖动属性的方向 XAxis(水平方向);YAxis(垂直方向)
drag.minimumX: 0
drag.maximumX: 360-parent.width
acceptedButtons: Qt.LeftButton | Qt.RightButton //可接受的鼠标按键,左键,右键,中间键
onClicked: { //处理鼠标事件的代码
if (mouse.button == Qt.RightButton) //MouseArea中所包含的鼠标按键参数
{ //mouse为鼠标事件对象
parent.color = "blue"
parent.width -= 5
parent.height -= 5
}
else
{
if ((mouse.button == Qt.LeftButton) && (mouse.modifiers & Qt.ShiftModifier))
{ //modifiers鼠标修饰符,判断一些组合按键
parent.color = "blue"
parent.width = 50
parent.height = 50
}
else
{
parent.color = "green"
parent.width += 5
parent.height += 5
}
}
}
}
}
3,效果