Keys QML 类型
为项目提供键管理。 更多...
导入语句 | import QtQuick |
属性
信号
- asteriskPressed(.KeyEvent event)
- backPressed((KeyEvent event)
- backtabPressed(KeyEvent event)
- callPressed(KeyEvent event)
- cancelPressed(KeyEvent event)
- context1Pressed(KeyEvent event)
- context2Pressed(KeyEvent event)
- context3Pressed(KeyEvent event)
- context4Pressed(KeyEvent event)
- deletePressed(KeyEvent event)
- digit0Pressed(KeyEvent event)
- digit1Pressed(KeyEvent event)
- digit2Pressed(KeyEvent event)
- digit3Pressed(KeyEvent event)
- digit4Pressed(KeyEvent event)
- digit5Pressed(KeyEvent event)
- digit6Pressed(KeyEvent event)
- digit7Pressed(KeyEvent event)
- digit8Pressed(KeyEvent event)
- digit9Pressed(KeyEvent event)
- downPressed(KeyEvent event)
- enterPressed(KeyEvent event)
- escapePressed(KeyEvent event)
- flipPressed(KeyEvent event)
- hangupPressed(KeyEvent event)
- leftPressed(KeyEvent event)
- menuPressed(KeyEvent event)
- noPressed(KeyEvent event)
- pressed(KeyEvent event)
- released(KeyEvent event)
- returnPressed(KeyEvent event)
- rightPressed(KeyEvent event)
- selectPressed(KeyEvent event)
- shortcutOverride(KeyEvent event)
- spacePressed(KeyEvent event)
- tabPressed(KeyEvent event)
- upPressed(KeyEvent event)
- volumeDownPressed(KeyEvent event)
- volumeUpPressed(KeyEvent event)
- yesPressed(KeyEvent event)
详细描述
所有视觉原语都支持通过Keys附属属性进行键操作。键可以通过onPressed和onReleased信令属性进行操作。
信令属性有一个KeyEvent参数,名为event,其中包含事件的详细信息。如果处理了一个键,则应将event.accepted设置为true,以防止事件在项目层次结构中传播。
示例用法
以下示例展示如何使用通用的onPressed处理器来测试特定的键;在这种情况下,为左光标键
Item { anchors.fill: parent focus: true Keys.onPressed: (event)=> { if (event.key == Qt.Key_Left) { console.log("move left"); event.accepted = true; } } }
某些键可以另外通过特定的信令属性进行处理,例如onSelectPressed。这些处理器自动将event.accepted设置为true。
Item { anchors.fill: parent focus: true Keys.onLeftPressed: console.log("move left") }
请参阅Qt.Key以获取键盘代码的列表。
键处理优先级
Keys附属属性可以被配置为在附加到其上的项目之前或之后处理键事件。这使得拦截事件以覆盖项目的默认行为或作为未由项目处理的键的后备选项成为可能。
如果priority是Keys.BeforeItem(默认),键事件处理的顺序是
- 指定的项目
forwardTo
- 特定的键处理器,例如onReturnPressed
- onPressed,onReleased处理器
- 项目特定的键处理,例如TextInput键处理
- 父项目
如果优先级是Keys.AfterItem,键事件处理的顺序是
- 项目特定的键处理,例如TextInput键处理
- 指定的项目
forwardTo
- 特定的键处理器,例如onReturnPressed
- onPressed,onReleased处理器
- 父项目
如果在上述任何步骤中接受事件,则键传播停止。
另请参阅KeyEvent和KeyNavigation附加属性。
属性文档
enabled : bool |
此标志启用键处理,如果为true(默认),否则不会调用任何键处理器。
priority : enumeration |
此属性确定是否在附加项目自己的键处理之前或之后处理键。
常量 | 描述 |
---|---|
Keys.BeforeItem | (默认) 在正常项目键处理之前处理键事件。如果事件被接受,则不会传递给该项目。 |
Keys.AfterItem | 在正常项目键处理之后处理键事件。如果项目接受键事件,则它不会被Keys附加属性处理器处理。 |
另请参阅键处理优先级。
信号文档
asteriskPressed(KeyEvent event) |
当按下星号 "*" 时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onAsteriskPressed
。
backPressed(KeyEvent event) |
当按下 Back 键时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onBackPressed
。
backtabPressed(KeyEvent event) |
当按下 Shift+Tab 组合键(Backtab)时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onBacktabPressed
。
callPressed(KeyEvent event) |
当按下 Call 键时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onCallPressed
。
cancelPressed(KeyEvent event) |
当按下 Cancel 键时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onCancelPressed
。
context1Pressed(KeyEvent event) |
当按下 Context1 键时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onContext1Pressed
。
context2Pressed(KeyEvent event) |
当按下 Context2 键时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onContext2Pressed
。
context3Pressed(KeyEvent event) |
当按下 Context3 键时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onContext3Pressed
。
context4Pressed(KeyEvent event) |
当按下 Context4 键时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onContext4Pressed
。
deletePressed(KeyEvent event) |
当按下 Delete 键时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onDeletePressed
。
digit0Pressed(KeyEvent event) |
当按下数字 '0' 时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onDigit0Pressed
。
digit1Pressed(KeyEvent event) |
当按下数字 '1' 时,会发出此信号。参数 event 提供了事件信息。
注意:相应的处理程序是 onDigit1Pressed
。
digit2Pressed(KeyEvent event) |
当数字 '2' 被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDigit2Pressed
。
digit3Pressed(KeyEvent event) |
当数字 '3' 被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDigit3Pressed
。
digit4Pressed(KeyEvent event) |
当数字 '4' 被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDigit4Pressed
。
digit5Pressed(KeyEvent event) |
当数字 '5' 被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDigit5Pressed
。
digit6Pressed(KeyEvent event) |
当数字 '6' 被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDigit6Pressed
。
digit7Pressed(KeyEvent event) |
当数字 '7' 被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDigit7Pressed
。
digit8Pressed(KeyEvent event) |
当数字 '8' 被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDigit8Pressed
。
digit9Pressed(KeyEvent event) |
当数字 '9' 被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDigit9Pressed
。
downPressed(KeyEvent event) |
当向下箭头被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onDownPressed
。
enterPressed(KeyEvent event) |
当回车键被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onEnterPressed
。
escapePressed(KeyEvent event) |
当 Esc 键被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onEscapePressed
。
flipPressed(KeyEvent event) |
当翻键被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的事件处理器为 onFlipPressed
。
hangupPressed(KeyEvent event) |
当挂起键被按下时,此信号将被触发。参数 event 提供了有关事件的详细信息。
注意:相应的处理程序是 onHangupPressed
.
leftPressed(KeyEvent event) |
当左箭头键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onLeftPressed
.
menuPressed(KeyEvent event) |
当菜单键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onMenuPressed
.
noPressed(KeyEvent event) |
当否键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onNoPressed
.
pressed(KeyEvent event) |
当某个键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onPressed
.
released(KeyEvent event) |
当一个键被释放时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onReleased
.
returnPressed(KeyEvent event) |
当回车键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onReturnPressed
.
rightPressed(KeyEvent event) |
当右箭头键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onRightPressed
.
selectPressed(KeyEvent event) |
当选择键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onSelectPressed
.
shortcutOverride(KeyEvent event) |
当按下可以潜在的用作快捷键的键时,会发出此信号。参数event提供了有关事件的详细信息。
如果希望防止其他类型(如 Shortcut)使用按下的键作为快捷键,请设置event.accepted
为 true
。例如
Item { id: escapeItem focus: true // Ensure that we get escape key press events first. Keys.onShortcutOverride: (event)=> event.accepted = (event.key === Qt.Key_Escape) Keys.onEscapePressed: { console.log("escapeItem is handling escape"); // event.accepted is set to true by default for the specific key handlers } } Shortcut { sequence: "Escape" onActivated: console.log("Shortcut is handling escape") }
与其他信号一样,只有当项目具有activeFocus属性时,shortcutOverride
才会为该项目发出。
注意:相应的处理程序是 onShortcutOverride
.
另请参见:Shortcut.
spacePressed(KeyEvent event) |
当空格键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onSpacePressed
.
tabPressed(KeyEvent event) |
当Tab键被按下时,会发出此信号。参数event提供了有关事件的详细信息。
注意:相应的处理程序是 onTabPressed
.
upPressed(KeyEvent event) |
当向上箭头键被按下时发出此信号。事件参数提供了关于此事件的信息。
注意: 对应的事件处理程序是 onUpPressed
。
volumeDownPressed(KeyEvent event) |
当音量减小键被按下时发出此信号。事件参数提供了关于此事件的信息。
注意: 对应的事件处理程序是 onVolumeDownPressed
。
volumeUpPressed(KeyEvent event) |
当音量增大键被按下时发出此信号。事件参数提供了关于此事件的信息。
注意: 对应的事件处理程序是 onVolumeUpPressed
。
yesPressed(KeyEvent event) |
当是键被按下时发出此信号。事件参数提供了关于此事件的信息。
注意: 对应的事件处理程序是 onYesPressed
。
© 2024 Qt公司有限。本文件中包含的文档贡献的所有权归各自所有者所有。本文件提供的文档根据自由软件基金会发布的GNU自由文档许可1.3版的条款进行许可。Qt及其相关标志是芬兰和/或全球其他国家的Qt公司的商标。所有其他商标均属于其各自所有者。