第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,效果
第14章:QML之MouseArea第14章:QML之MouseArea第14章:QML之MouseArea