InputEngine QML Type (Uncreatable)
将用户输入映射到输入法。更多...
| Import Statement: | import QtQuick.VirtualKeyboard |
| In C++: | QVirtualKeyboardInputEngine |
注意:这是一个不可创建的类型。无法在 QML 中对其进行实例化。
属性
- activeKey : int
- inputMethod : InputMethod
- inputMode : int
- inputModes : list<int>
- patternRecognitionModes : list<int>
(since QtQuick.VirtualKeyboard 2.0) - previousKey : int
- wordCandidateListModel : SelectionListModel
- wordCandidateListVisibleHint : bool
信号
- void activeKeyChanged(int key)
- void inputMethodChanged()
- void inputMethodReset()
- void inputMethodUpdate()
- void inputModeChanged()
- void inputModesChanged()
- void patternRecognitionModesChanged()
(since QtQuick.VirtualKeyboard 2.0) - void previousKeyChanged(int key)
- void virtualKeyClicked(int key, string text, int modifiers)
方法
- Trace traceBegin(int traceId, int patternRecognitionMode, var traceCaptureDeviceInfo, var traceScreenInfo)
(since QtQuick.VirtualKeyboard 2.0) - bool traceEnd(Trace trace)
- void virtualKeyCancel()
- bool virtualKeyClick(int key, string text, int modifiers)
- bool virtualKeyPress(int key, string text, int modifiers, bool repeat)
- bool virtualKeyRelease(int key, string text, int modifiers)
详细说明
输入引擎负责将输入事件路由到输入法。具体的输入逻辑由输入法实现。
输入引擎还包含默认输入法,当当前活动的输入法无法处理该事件时,默认输入法将负责进行默认处理。
属性文档
activeKey : int [read-only]
当前按下的键。
inputMethod : InputMethod
使用此属性可设置当前输入法,或监控当前输入法的变更。
inputMode : int
使用此属性可获取或设置当前输入模式。InputEngine::inputModes 属性提供当前输入法和区域设置下有效的输入模式列表。
预定义的输入模式包括:
InputEngine.InputMode.Latin拉丁文的默认输入模式。InputEngine.InputMode.Numeric仅允许数字输入。InputEngine.InputMode.Dialable仅允许拨号输入。InputEngine.InputMode.Pinyin中文的拼音输入模式。InputEngine.InputMode.Cangjie中文的仓颉输入法。InputEngine.InputMode.Zhuyin中文注音输入法。InputEngine.InputMode.Hangul韩语的韩文输入法。InputEngine.InputMode.Hiragana日语的平假名输入法。InputEngine.InputMode.Katakana日语的片假名输入法。InputEngine.InputMode.FullwidthLatin东亚语言的全角拉丁字母输入模式。InputEngine.InputMode.Greek希腊语输入模式。InputEngine.InputMode.Cyrillic西里尔字母输入模式。InputEngine.InputMode.Arabic阿拉伯语输入模式。InputEngine.InputMode.Hebrew希伯来语输入模式。InputEngine.InputMode.ChineseHandwriting中文手写输入。InputEngine.InputMode.JapaneseHandwriting日语手写输入。InputEngine.InputMode.KoreanHandwriting韩语手写。InputEngine.InputMode.Thai泰语输入模式。InputEngine.InputMode.Stroke中文笔画输入模式。InputEngine.InputMode.Romaji日语罗马字输入模式。InputEngine.InputMode.HiraganaFlick日语的滑动输入模式。
inputModes : list<int> [read-only]
可用的输入模式列表取决于输入法和区域设置。当上述任一依赖项发生变化时,该属性会随之更新。
patternRecognitionModes : list<int> [read-only, since QtQuick.VirtualKeyboard 2.0]
可用模式识别模式的列表。
可能的取值:
| 常量 | 描述 |
|---|---|
InputEngine.PatternRecognitionMode.None | 不支持模式识别。 |
InputEngine.PatternRecognitionMode.PatternRecognitionDisabled | obsolete - 请改用None 。 |
InputEngine.PatternRecognitionMode.Handwriting | 手写识别的模式识别模式。 |
InputEngine.PatternRecognitionMode.HandwritingRecoginition | obsolete - 请改用Handwriting 。 |
该属性在 QtQuick.VirtualKeyboard 2.0 中引入。
previousKey : int [read-only]
之前按下的键。
wordCandidateListModel : SelectionListModel [read-only]
使用此属性可访问单词候选项列表的列表模型。
wordCandidateListVisibleHint : bool [read-only]
使用此属性来检查单词候选项列表是否应在用户界面中显示。
Signal 文档
void activeKeyChanged(int key)
表示当前的key 已发生变化。
注意: 相应的处理程序 是onActiveKeyChanged 。
void inputMethodChanged()
表示输入法已发生变化。
注意: 相应的处理程序 为onInputMethodChanged 。
void inputMethodReset()
当需要重置输入法时触发此信号。
注意: 当输入法被激活时,该 信号会自动连接到QVirtualKeyboardAbstractInputMethod::reset()和InputMethod::reset()。
注意: 相应的处理程序 为onInputMethodReset 。
void inputMethodUpdate()
注意: 当输入法被激活时,该 信号会自动连接到QVirtualKeyboardAbstractInputMethod::update() 和InputMethod::update()。
注意: 对应的处理程序 是onInputMethodUpdate 。
void inputModeChanged()
表示输入模式已更改。
注意: 相应的处理程序 为onInputModeChanged 。
void inputModesChanged()
表示可用的输入模式已发生变化。
注意: 相应的处理程序 为onInputModesChanged 。
[since QtQuick.VirtualKeyboard 2.0] void patternRecognitionModesChanged()
表示可用的模式识别模式已发生变化。
预定义的模式识别模式包括:
InputEngine.PatternRecognitionMode.None无法进行模式识别。InputEngine.PatternRecognitionMode.PatternRecognitionDisabledobsolete请使用 ` .PatternRecognitionMode.None`InputEngineInputEngine.PatternRecognitionMode.Handwriting用于手写识别的模式识别模式。InputEngine.PatternRecognitionMode.HandwritingRecoginitionobsolete请使用 ` .PatternRecognitionMode.Handwriting`InputEngine
注意: 相应的处理程序 为onPatternRecognitionModesChanged 。
该信号在 QtQuick.VirtualKeyboard 2.0 中引入。
void previousKeyChanged(int key)
表示之前的key 已发生变更。
注意: 相应的处理程序 是onPreviousKeyChanged 。
void virtualKeyClicked(int key, string text, int modifiers)
表示虚拟key 在给定的text 和modifiers 下被点击。该信号在输入法处理完键盘事件后发出。
注意: 对应的处理程序 为onVirtualKeyClicked 。
方法文档
[since QtQuick.VirtualKeyboard 2.0] Trace traceBegin(int traceId, int patternRecognitionMode, var traceCaptureDeviceInfo, var traceScreenInfo)
启动与输入引擎的跟踪交互。
该跟踪通过traceId 进行唯一标识。如果输入方法接受该事件,输入引擎将把该ID分配给Trace对象。
patternRecognitionMode 指定了该模式所使用的识别模式。
如果当前输入法接受该事件,则返回一个与该交互关联的 Trace 对象;如果输入法丢弃该事件,则返回 null 值。
traceCaptureDeviceInfo 提供有关源设备的信息,而traceScreenInfo 提供有关屏幕上下文的信息。
根据定义,Trace 对象在调用traceEnd() 方法之前一直有效。
调用InputEngine.traceEnd() 方法将结束跟踪交互。
该方法在 QtQuick.VirtualKeyboard 2.0 中引入。
bool traceEnd(Trace trace)
终止与输入引擎的跟踪交互。
调用此函数后,trace 对象可在任何时候被丢弃。
如果追踪交互已被接受(即触摸事件不应用于其他用途),则该函数返回 true。
void virtualKeyCancel()
将活动键的状态恢复为原状,同时不触发键事件。当用户取消当前键操作且需要恢复键状态时,此方法非常有用。
bool virtualKeyClick(int key, string text, int modifiers)
为给定的key 、text 和modifiers 触发键盘点击事件。如果键盘事件被输入引擎接受,则返回true 。
bool virtualKeyPress(int key, string text, int modifiers, bool repeat)
由键盘层调用,用于指示key 被按下,并提供text 和modifiers 参数。
key 被设置为活动键(按下键)。当通过virtualKeyRelease() 方法释放该键时,将触发实际的键事件。可通过调用virtualKeyCancel() 来取消该按键事件。
如果repeat 的值为true ,则按键操作还会启动按键重复定时器。
如果该键被此输入引擎接受,则返回true 。
另请参阅 virtualKeyCancel() 和virtualKeyRelease()。
bool virtualKeyRelease(int key, string text, int modifiers)
在key 处释放按键。如果该事件并非由循环定时器触发,则该方法会为输入法发出一个按键事件。text 和modifiers 将传递给输入法。
如果该键被输入引擎接受,则返回true 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.