qml Keys.onPressed

发布时间:2024年01月23日

键盘上4个方向键(↑ ↓ ← →) 控制矩形进行移动,按 +号 则放大,按 -号则缩小。

这里有个问题,当缩小到一定程度时,加减号产生的效果会颠倒。

import QtQuick

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("按键控制方块移动、放大、缩小")

    Rectangle {
        width: 50
        height: 50
        color: 'pink'
        border.color: Qt.lighter(color)

        focus: true //设置焦点,否则不能正确控制
        Keys.onLeftPressed: x -= 10 //←方向键
        Keys.onRightPressed: x += 10 //→方向键
        Keys.onUpPressed: y -= 10 // ↑方向键
        Keys.onDownPressed: y += 10 // ↓方向键

        // 当有按键被按下,通过无函数名但有参数的函数中的switch语句进行判断
        Keys.onPressed: function (event) {
            switch (event.key) {
            case Qt.Key_Plus: scale += 0.2; break //若+号键被按下,则放大0.2,连续按则连续放大
            case Qt.Key_Minus: scale -= 0.2; break //若-号键被按下,则缩小0.2,连续按则连续缩小
            }
        }
    }
}

?

文章来源:https://blog.csdn.net/weixin_53989417/article/details/135776829
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。