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月前
Qt鼠标事件
Qt鼠标事件
19 2
|
2月前
Qml:鼠标事件
Qml:鼠标事件
|
3月前
|
C++
Qt6学习笔记十(鼠标事件、事件分发器)
Qt6学习笔记十(鼠标事件、事件分发器)
72 0
|
计算机视觉
QT5事件处理
鼠标事件包括鼠标的移动,鼠标键按下、松开、单击、双击等。本例将介绍如 何获得和处理鼠标事件。
52 0
QT5事件处理
QT --- Qt的lineEdit添加鼠标点击事件
QT --- Qt的lineEdit添加鼠标点击事件
715 0
QT之Qml使用QSystemTrayIcon实现系统托盘
QT之Qml使用QSystemTrayIcon实现系统托盘
|
前端开发 C# Windows
WPF鼠标、键盘、拖拽事件、用行为封装事件
本文主要介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件。除此之外,本文还讲述如何用行为(Behavior)来封装事件。
QT——键盘事件(捕获按键事件)
QT——键盘事件(捕获按键事件)
902 0
Qt | 鼠标事件和滚轮事件 QMouseEvent、QWheelEvent
学习使用Qt的鼠标事件和滚轮事件。
761 0