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")
                }
            }
        }
    }
}


相关文章
|
19天前
Qt鼠标事件
Qt鼠标事件
13 2
|
1月前
Qml:鼠标事件
Qml:鼠标事件
|
2月前
|
C++
Qt6学习笔记十(鼠标事件、事件分发器)
Qt6学习笔记十(鼠标事件、事件分发器)
55 0
|
11月前
|
计算机视觉
QT5事件处理
鼠标事件包括鼠标的移动,鼠标键按下、松开、单击、双击等。本例将介绍如 何获得和处理鼠标事件。
48 0
QT5事件处理
QT之Qml使用QSystemTrayIcon实现系统托盘
QT之Qml使用QSystemTrayIcon实现系统托盘
QT——键盘事件(捕获按键事件)
QT——键盘事件(捕获按键事件)
880 0
Qt | 鼠标事件和滚轮事件 QMouseEvent、QWheelEvent
学习使用Qt的鼠标事件和滚轮事件。
740 0
C#(二十八)之C#鼠标事件、键盘事件
鼠标事件分为两种:EventArgs、MouseEventArgs。 键盘事件:KeyEventArgs、KeyPressEventArgs、KeyPress、KeyDown、KeyUp。
408 0
C#(二十八)之C#鼠标事件、键盘事件