Qml:键盘事件

简介: Qml:键盘事件
import QtQuick
Window
{
    width: 640
    height: 480
    visible: true
    title: qsTr("Test KeyEvent")
    //传递给活动窗口的QQuickWindow
    //传递给当前活动的Item(focus为true),如没则找子节点中的,都没有则忽略
    Item
    {
        id:item1
        //focus: true
        Keys.onPressed: (event)=>
        {
            print("item1 onPressed")
        }
        Keys.onReleased: (event)=>
        {
            print("item1 onReleased")
        }
        Item
        {
            id:item2
            focus:true
            //如果Item接收事件(accepts 设为true)则停止转发,否则转发给父节点
            Keys.onPressed: (event)=>
            {
                print("item2 onPressed")
                event.accepted = true //停止转发
                //处理事件
                print("event.key = " + event.key)
                if(event.key === Qt.Key_W)
                {
                    print("W")
                }
                else if(event.key === Qt.Key_Left)
                {
                    print("Key_Left")
                }
                //组合按键 Ctrl Shift Alt
                if(event.modifiers & Qt.AltModifier)
                {
                    print("Alt")
                }
                // Alt + F12
                if((event.modifiers & Qt.AltModifier) && event.key === Qt.Key_F12)
                {
                    print("Alt + F12")
                }
                //Ctrl + ALt + A
                if((event.modifiers & Qt.ControlModifier) &&
                   (event.modifiers & Qt.AltModifier) &&
                   event.key === Qt.Key_A)
                {
                    print("Ctrl + ALt + A")
                }
            }
        }
    }
}


相关文章
|
2月前
|
存储 Windows
(13) Qt事件系统(two)
文章详细介绍了Qt事件系统,包括事件分发、自定义事件、事件传播机制、事件过滤以及事件与信号的区别。
104 3
(13) Qt事件系统(two)
|
4月前
QML 界面切换的方法
QML 界面切换的方法
285 1
|
4月前
|
程序员 C++
【Qt】信号与槽(下)
【Qt】信号与槽(下)
|
4月前
|
Linux C++
【Qt】信号与槽(上)
【Qt】信号与槽(上)
【Qt】信号与槽(上)
|
4月前
【qt】有点意思的信号与槽
【qt】有点意思的信号与槽
22 0
|
6月前
Qt鼠标事件
Qt鼠标事件
|
7月前
|
图形学 C++ 容器
QT信号与槽机制 和 常用控件介绍
QT信号与槽机制 和 常用控件介绍
QT信号与槽机制 和 常用控件介绍
|
6月前
Qml:鼠标事件
Qml:鼠标事件
|
7月前
|
数据可视化 安全 程序员
【Qt】—— 信号与槽
【Qt】—— 信号与槽
104 2
|
7月前
|
C++
Qt6学习笔记十(鼠标事件、事件分发器)
Qt6学习笔记十(鼠标事件、事件分发器)
125 0