QML提供了对应的按键处理方法,我们接下来实现一个通过键盘上的方向键来移动文本,代码如下:

 import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2 Rectangle{
id: root
width: 512
height: 512
color: "gray" focus: true
Keys.enabled: true
Keys.onEscapePressed: Qt.quit();
Keys.forwardTo: [moveText, likeQt]; Text {
id: moveText
x: 20; y: 20;
width: 200; height: 30; text: "Moving Text"
color: "blue"
font {bold: true; pixelSize: 30} Keys.enabled: true
Keys.onPressed: {
switch (event.key){
case Qt.Key_Left:
x -= 10;
break;
case Qt.Key_Right:
x += 10;
break;
case Qt.Key_Up:
y -= 10;
break;
case Qt.Key_Down:
y += 10;
break;
default:
return;
}
event.accepted = true;
}
} CheckBox {
id: likeQt
text: "Like Qt Quick"
z:1 anchors.left: parent.left
anchors.leftMargin: 10
anchors.bottom: parent.bottom
anchors.bottomMargin: 10
}
}

QML按键事件处理的更多相关文章

  1. Android按键事件处理流程 -- KeyEvent

    刚接触Android开发的时候,对touch.key事件的处理总是一知半解,一会是Activity里的方法,一会是各种View 中的,自己始终不清楚到底哪个在先哪个在后,总之对整个处理流程没能很好的把 ...

  2. QML按键

    1.普通用法 import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.Controls 2.2 ApplicationWindow { ...

  3. Android学习笔记物理按键事件处理

    常见的物理按键: Android为每个物理按键都提供了如下几个回调方法: 代码示例: package com.example.demo3; import androidx.appcompat.app. ...

  4. Android系统中自定义按键的短按、双击、长按事件

    在项目中碰到这样的问题: 由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成: 1.单击 ...

  5. Android按键事件传递流程(二)

    5    应用层如何从Framework层接收按键事件 由3.2和4.5.4节可知,当InputDispatcher通过服务端管道向socket文件描述符发送消息后,epoll机制监听到了I/O事件, ...

  6. C#的事件处理机制

    链接地址:http://blog.csdn.net/niuox/article/details/7527876 在以往的关于事件处理的程序中,我们更多的是采用一种循环等待的方式,即为了检测某个事件是否 ...

  7. nrf51822-主从通信分析2

    解决第三个问题:如何使能从机上的特征值的 notify功能,使其能通过notify方式发送数据   使能从机的notify功能是通过写0x0001到从机的那个具有notify功能的特征值的CCCD描述 ...

  8. MediaPlayer开发全解析

    本文介绍MediaPlayer的使用.MediaPlayer可以播放音频和视频,另外也可以通过VideoView来播放视频,虽然VideoView比MediaPlayer简单易用,但定制性不如用Med ...

  9. Android提高21篇之一:MediaPlayer

    本文介绍MediaPlayer的使用.MediaPlayer可以播放音频和视频,另外也可以通过VideoView来播放视频,虽然VideoView比MediaPlayer简单易用,但定制性不如用Med ...

随机推荐

  1. 如何限制input只能输入数字

    在input上增加onkeyup和onafterpaste事件,事件中用正则表达式替换其它字符,测试没有问题. <input type="text" value=" ...

  2. BZOJ 1878: [SDOI2009]HH的项链 离线树状数组

    1878: [SDOI2009]HH的项链 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  3. 使用Zipalign工具优化Android APK应用记录

    生成的Android应用APK文件最好进行优化,因为APK包的本质是一个zip压缩文档,经过优化能使包内未压缩的数据有序的排列,从而减少应用程序运行时的内存消耗.我们可以使用Zipalign工具进行A ...

  4. [Practical Git] Compare file changes with git diff

    It can be helpful to see the changes between two sets of code; git diff lets us do this by comparing ...

  5. android 基站定位

    package cn.LocationStation; import java.io.BufferedReader; import java.io.InputStream; import java.i ...

  6. LINUX怎么远程连接ORACLE数据库

    A电脑装了ORACLE客户端,B是ORACLE服务器,都在LINUX环境下,请问A电脑怎么访问B上的数据库?该怎么改配置?求高手解答,越详细越好 很简单,你在A电脑安装一个ORACLE 客户端,然后, ...

  7. jQuery中要注意的一些函数

    has()方法 或 :has选择器 :是过滤子类含有的,并不是过滤当前选择器选择的元素或对象含有的

  8. 数据结构与算法分析(2)——表、栈和队列

      抽象数据类型     抽象数据类型(ADT)是一系列操作的集合.诸如表.集合.图和他们的操作一起可以看做是抽象数据类型 表 List 表的实现有两种:数组和链表.数组实现的表在插入和删除操作上的花 ...

  9. B/S的验证控件

    验证控件 首先设置一下框架,设置为.net framework 4.0,在4.5下貌似会报错,设置方法为项目上右键/属性页/找到左侧菜单栏里的生成/将框架版本改为4.0. 一.非空验证:Require ...

  10. easyUI 比较时间大小

    //                    function toDate(str){ //                        var sd=str.split("-" ...