第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,效果
在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值