QML Keys.onReleased 按键时触发
Posted
技术标签:
【中文标题】QML Keys.onReleased 按键时触发【英文标题】:QML Keys.onReleased fire when pressing key 【发布时间】:2019-06-20 09:46:06 【问题描述】:环境:
Qt 5.13 + Mingw32 + Windows 10 64bit
或
Qt 5.11 + Mingw32 + Windows 10 64bit
演示代码:
import QtQuick 2.12
import QtQuick.Window 2.12
Window
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Item
id: name
anchors.fill: parent
focus: true
Keys.onReleased: console.log("onReleased")
问题:(任意键)
【问题讨论】:
【参考方案1】:通过运行您的示例,我假设您的问题发生在持有密钥后。
为防止您在捕获KeyEvent
时简单地检查isAutoRepeat
属性:
Keys.onReleased: if (!event.isAutoRepeat) console.log("onReleased")
【讨论】:
【参考方案2】:你可以从event
查看isAutoRepeat
Item
id: name
anchors.fill: parent
focus: true
Keys.onReleased:
if (!event.isAutoRepeat)
console.log("released")
else
console.log("repeated like in a text field")
【讨论】:
以上是关于QML Keys.onReleased 按键时触发的主要内容,如果未能解决你的问题,请参考以下文章
qml自学笔记------自己写相似于劲舞团的按键小游戏(中)