搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
AllinToyou
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
JSP&EL表达式&MVC&三层结构综合案例_编程el 的综合应用。 结合自己的应用,运用 mvc+dao 设计模式完成信息的访问。
2
特殊符号_↗`…∞~↖[↘:^∴:.-∞∴i:◇;∵
3
ABBYY FineReader 14如何查看PDF文档_abbyy 怎么看pdf里的字数
4
一键搭建幻兽帕鲁游戏服务器和迁移存档教程_帕鲁存档转移 阿里云ecs
5
JAVA 中InputStream和OutputStream的基本使用
6
Java网络编程 - UDP通信_java udp 发送和接收数据
7
java实体类set方法报空指针异常_SpringMVC空指针异常NullPointerException的原因和解决方法...
8
数据挖掘(4):不同的分类模型有关金融数据分类的评价(accuracy、precision,recall和F1-score)_xgbclassifier 多分类 模型评价
9
最详细的【微信小程序+阿里云Web服务】开发部署指引(四):搭建服务端数据库_微信小程序链接阿里云数据库
10
SQL注入的一些示例及解决SQL注入的方法_sql注入解决方法
当前位置:
article
> 正文
QML中的Keys事件_qml keys.onpressed
作者:AllinToyou | 2024-03-01 03:30:44
赞
踩
qml keys.onpressed
QML的Keys元素专门用来处理键盘事件KeyEvent。它定义了许多特定的按键信号。
onAsteriskPressed
onBackPressed
onBacktabPressed
onCallPressed
onCancelPressed
onContext1Pressed
onContext2Pressed
onContext3Pressed
onContext4Pressed
onDeletePressed
onDigit0Pressed
onDigit1Pressed
onDigit2Pressed
onDigit3Pressed
onDigit4Pressed
onDigit5Pressed
onDigit6Pressed
onDigit7Pressed
onDigit8Pressed
onDigit9Pressed
onDownPressed
onEnterPressed
onEscapePressed
onFlipPressed
onHangupPressed
onLeftPressed
onMenuPressed
onNoPressed
onPressed
onReleased
onReturnPressed
onRightPressed
onSelectPressed
onSpacePressed
onTabPressed
onUpPressed
onVolumeDownPressed
onVolumeUpPressed
onYesPressed
不过使用了onPressed和onReleased就能够解决我们大部分问题。
1.在使用按键事件的组件元素中必须设置其focus为1.获取焦点。
Rectangle {
width: 100
height: 100
focus: true
Keys.onPressed: {
if(event.key == Qt.Key_B)
console.log("Key B was pressed") ;
else if (event.key === Qt.Key_Down) { }
}
}
2.当一个焦点获取到了按键事件并且处理后,我们应该把设置event.accepted = true。这条语句的
作用就是防止事件向上层传递也就是向父层传递,即使父对象的focus没有设置为ture
Rectangle {
width: 100
height: 100
focus: true
Keys.onPressed: { event.accepted = true//设置成了事件已接收,防止向上层传递
if(event.key == Qt.Key_B)
console.log("Key B was pressed") ;
else if (event.key === Qt.Key_Down) { }
}
}
3.Keys的enabled属性,改属性默认我true,当设置为false不能响应按键事件,影响的只是当前QML对象。Keys的enabled不同于Item的enabled,后者默认为true,为false时按键事件和鼠标事件都不能响应,影响的是当前对象及所有孩子对象,这一点在使用是需要特别注意。
Rectangle {
width: 100
height: 100
focus: true
enabled:false //不能响应下面的按键事件
Keys.onPressed: { event.accepted = true//设置成了事件已接收,防止向上层传递
if(event.key == Qt.Key_B)
console.log("Key B was pressed") ;
else if (event.key === Qt.Key_Down) { }
}
}
4.orwardTo是个列表属性list<Object>,设置按键事件传递的顺序,某个QML对象在这个列表属性中时,即使没有设置focus为true也能响应按键事件,如果某个按键事件被列表属性中前面的Item处理了,后面的Item就不会再收到这个按键信号。
5.priority属性用来设置处理按键事件时的优先级,默认是Keys.BeforeItem,也就是说优先处理Keys附加属性的按键事件,然后才是Item本身的按键事件,但Keys已经处理过的按键事件就不会再传递到当前Item了,反之Keys.afterItem亦然
6.KeyNavigation元素--附件属性,可以用来实现用方向键或者Tab键来进行项目的导航
Grid {
width: 100; height:200
columns: 2
Rectangle{
id: topLeft
width: 50; height: 50
color: focus ? "red" : "lightgray"
focus: true
KeyNavigation.right: topRight
KeyNavigation.down: bottomLeft
}
Rectangle{
id: topRight
width: 50; height: 50
color: focus ? "red" : "lightgray"
focus: true
KeyNavigation.left: topLeft
KeyNavigation.down: bottomRight
}
Rectangle{
id: bottomLeft
width: 50; height: 50
color: focus ? "red" : "lightgray"
focus: true
KeyNavigation.right: bottomRight
KeyNavigation.up: topLeft
}
Rectangle{
id: bottomRight
width: 50; height: 50
color: focus ? "red" : "lightgray"
focus: true
KeyNavigation.left: bottomLeft
KeyNavigation.up: topRight
}
}
7.当上面代码作为一个可重用或者可被导入的组件时,简单的使用focus属性无效。
可以用QML焦点作用域(focus scope)解决,通过FocusScope元素创建。
FocusScope {
id:foc
width: 800;
height: 480;
Rectangle {
width: 100
height: 100
focus: true
enabled:false //不能响应下面的按键事件
Keys.onPressed: { event.accepted = true//设置成了事件已接收,防止向上层传递
if(event.key == Qt.Key_B)
console.log("Key B was pressed") ;
else if (event.key === Qt.Key_Down) { }
}
}
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/AllinToyou/article/detail/170668?site
推荐阅读
article
Python
制作
爱心
跳动
代码
,你也是天才
程序员
_
python
爱心
代码
跳动
...
马上就完成了,坚持就是胜利root = Tk() # 一个Tkheart = Heart() # 心draw(root,...
赞
踩
article
基于
ssm
的
酒店预定
管理系
统
_基于
ssm
的
酒店
管理系
统
基于
spring
+
spring
mvc ...
基于
ssm
的
酒店
管理系
统
本人初学者 写出来记录一下 大佬请绕道 大家一起交流新
的
改变功能快捷键合理
的
创建标题,有助于目录...
赞
踩
article
YOLOv8
改进
| 2023
主干
篇 |
FasterNeT
跑起来的
主干
网络
( 提高FPS和检测效率...
本文给大家带来的
改进
机制是FasterNet
网络
,将其用来替换我们的特征提取
网络
,其旨在提高计算速度而不牺牲准确性,特别...
赞
踩
article
ubuntu
防火墙
各种配置及启动异常
解决方案
_
ubuntu
开机
bridge
firewalling
...
ubuntu
防火墙
各种配置及启动异常
解决方案
_
ubuntu
开机
bridge
firewalling
registere...
赞
踩
article
python
django +
微信
小
程序
商城
源码_
微信
商城
小
程序
源码
python
...
随着互联网的快速发展,线上购物越来越普及,而
商城
小
程序
作为一种便捷的购物方式,正逐渐成为消费者的首选。为了满足市场需求,...
赞
踩
article
云原生 |
kubernetes
- 存储抽象 PV &
PVC
& ConfigMap & Sec...
Cloud Native |
kubernetes
- Storage Abstract PV&
PVC
&ConfigMa...
赞
踩
article
Failed
to
start
iptables
.
service
: Unit
iptables
.se...
如果遇到这种情况的话可以先查看当前cen
to
s的版本,cen
to
s7以上将启动防火墙(
iptables
)命名为firew...
赞
踩
article
linux
zip
命令...
1.
zip
-r myfile.
zip
./*将当前目录下的所有文件和文件夹全部压缩成myfile.
zip
文件,-r表示...
赞
踩
article
python
打印
爱心
图形
以及动态描绘彩色
爱心
_
为
心形
图形
着色
python
...
黑白
爱心
图形
打印,内容只有英文字符才能完整描绘
心形
def A(S,b): s="\n".join(["".join([(...
赞
踩
article
【
Linux
】常用的
压缩
解
压缩
命令
之
zip
命令
_
linux
压缩
文件夹
命令
zip
...
通过本文的介绍,读者对
zip
命令
在
Linux
系统中的
压缩
和解
压缩
操作有了更深入的了解。合理利用这些
命令
,可以在日常工作中...
赞
踩
article
获取
tensorflow
lite
模型
指定中间层
的
输出...
以`mobilenet v2`为例子,我已经训练好了
模型
,有`tf
lite
`格式和`onnx`格式两种
模型
的
权重文件,我...
赞
踩
article
Python
六大基本
数据类型
介绍_
python
支持
的
数据类型
...
Python
基本
数据类型
一、整型1、整型:int2、二进制整型二、浮点型三、布尔型四、复数类型五、字符串六、列表七、元组...
赞
踩
article
如何
保护
excel
文件中部分
单元格
不允许
编辑
?_
excle
设置
某些字段不可
编辑
...
如何
保护
excel
文件中部分
单元格
不允许
编辑
?
设置
步骤:_
excle
设置
某些字段不可
编辑
excle
设置
某些字段不可
编辑
...
赞
踩
article
centos7
中使用
service
iptables
stop
显示
not
loaded
_iptab...
使用
service
iptables
stop
显示
not
loaded
#
service
iptables
stop
R...
赞
踩
article
在
uclinux
上使用
pppoe
拨号_
pppoe
:
ioctl
(siocgifhwaddr): no...
在
uclinux
上使用
pppoe
拨号早年写的笔记,压箱底了,翻出来晒晒目 录在
uclinux
上使用
pppoe
拨号.....
赞
踩
article
知物由学 |
弹幕
蜂拥而入
,
智能
审核
平台
如何用技术破局?_
智能
审核
平台
开发
设计
...
导读:
弹幕
的出现增加了视频观看者的深度参与感
,
弹幕
也逐渐成为国内各大视频网站最基本的评论交互形式
,
本文将通过网易易盾在弹...
赞
踩
article
tensorflow
对
GPU
的配置_
tensorflow
gpu
设置
·...
tf1配置import keras.backend.
tensorflow
_backend as KTFfrom tens...
赞
踩
article
Python
实现
压缩
和
解
压缩
zip
文件_
deflate
解
压缩
python
bytes...
在操作之前需要导入
zip
file模块import
zip
file一、读取
压缩
文件MyZipfile =
zip
file....
赞
踩
article
人工智能
之
Tensorflow
编程模型...
TensorFlow编程模型附带操作实例
人工智能
之
Tensorflow
编程模型 ...
赞
踩
article
Android
中
点击
listview
中
的某一项时,字体变色_
android
:
adapter
中
动态
设置
...
不废话!1、在
listview
的
adapter
中
添加一个方法 public void selectedItemPosi...
赞
踩
相关标签
python
开发语言
mybatis
maven
数据库
LayUI
SSM框架项目
YOLO
深度学习
人工智能
计算机视觉
目标检测
pytorch
linux
ubuntu
服务器
django
微信小程序
计算机毕业设计
kubernetes
云原生
java
1024程序员节
centos
运维