23--Qt Quick事件处理---鼠标

标签(空格分隔): Qt


桌面开发,难免要处理鼠标事件的例子。

变色矩形的例子

import QtQuick 2.0

Rectangle {
    width: 320;
    height: 240;

    MouseArea {
        anchors.fill: parent;
        acceptedButtons: Qt.LeftButton | Qt.RightButton;//表示处理鼠标和右键
        onClicked: {
            if(mouse.button === Qt.RightButton){
                Qt.quit();
            }
            else if(mouse.button === Qt.LeftButton){
                color = Qt.rgba((mouse.x % 255)/255.0,(mouse.y % 255)/255.0,0.6,1.0);
            }
        }
        onDoubleClicked: {
            color = "grey";
        }
    }

}

运行效果,上面的代码仅仅是绘制一个矩形,当鼠标左键按下时改变矩形区域的颜色,鼠标右键按下时退出应用。

MouseArea对象可以附加到Item上供Item处理鼠标事件,它本身是一个不可见的Item.在其内部,可以直接引用它所附着的对象的属性和方法。可以将MouseArea理解为它所附着的Item代理。

你可能感兴趣的:(23--Qt Quick事件处理---鼠标)