zoukankan      html  css  js  c++  java
  • 《Qt Quick 4小时入门》学习笔记4


    Qt Quick 4小时入门
    第七章:处理鼠标与键盘事件

    1、处理鼠标事件
    鼠标信号传递一个MouseEvent类型的mouse参数

    import QtQuick 2.7
    import QtQuick.Controls 2.0
    import QtQuick.Layouts 1.0
    import QtQuick.Window 2.0

    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")

        // 处理鼠标事件示例
        MouseArea {
            anchors.fill: parent; // 在哪个区域之内接收鼠标事件
            acceptedButtons: Qt.LeftButton | Qt.RightButton; // 鼠标的左键和右键事件
            onClicked: {
                if (mouse.button == Qt.LeftButton) {
                    txt.text = "您点击了左键。";
                } else if (mouse.button == Qt.RightButton) {
                    txt.text = "您点击了右键。";
                }
            }

            onDoubleClicked: {
                if (mouse.button == Qt.LeftButton) {
                    txt.text = "您双击了左键。";
                } else if (mouse.button == Qt.RightButton) {
                    txt.text = "您双击了右键。";
                }
            }
        }
    }

    2、处理键盘事件

    import QtQuick 2.7
    import QtQuick.Controls 2.0
    import QtQuick.Layouts 1.0
    import QtQuick.Window 2.0

    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")

        // 处理键盘事件示例
        Text {
            id: txt;
            text: "齐天大圣";
            width: 60*8;
            font.pointSize: 50;
            x: 100;
            y: 200;
            //anchors.centerIn: parent; // 如果执行下面的代码改变文本的位置,那么不能使用锚布局
            // Window对象不能处理按键事件,需要放到一个Item对象里
            Keys.onLeftPressed: x -= 10;
            Keys.onRightPressed: x += 10;
            Keys.onUpPressed: y -= 10;
            Keys.onDownPressed: y += 10;
            focus: true; // 只有拥有焦点的Item才能处理按键事件
        }
    }

    Keys是一个附加属性
    QML中的属性就是C++中的成员变量。

    属性的类型:
    (1)基本类型
    (2)id属性:可以在其他对象或脚本中通过id引用本对象
    (3)列表属性
    (4)信号处理器
    (5)分组属性:
    Text {
        font { pixelSize: 12; bold: true; }
    }
    (6)附加属性




  • 相关阅读:
    视频遮挡问题
    calc兼容性
    javascript变量声明提升
    jquery插件
    prop和attr在 jquery的
    onclick防止冒泡和json对象放入
    git 入门
    去掉ie滚动条兼容性
    单页面应用程序(SPA)
    swiper轮播图插件
  • 原文地址:https://www.cnblogs.com/sdsunjing/p/5903636.html
Copyright © 2011-2022 走看看