InputMethod QML Type
用于在 QML 中创建输入法的基类。更多内容...
| Import Statement: | import QtQuick.VirtualKeyboard |
属性
- inputContext : InputContext
- inputEngine : InputEngine
信号
- selectionListActiveItemChanged(int type, int index)
- selectionListChanged(int type)
- selectionListsChanged()
(since QtQuick.VirtualKeyboard 2.2)
方法
- bool clickPreeditText(int cursorPosition)
(since QtQuick.VirtualKeyboard 2.4) - list<int> inputModes(string locale)
- bool keyEvent(int key, string text, int modifiers)
- list<int> patternRecognitionModes()
(since QtQuick.VirtualKeyboard 2.0) - bool reselect(int cursorPosition, int reselectFlags)
(since QtQuick.VirtualKeyboard 2.0) - void reset()
- var selectionListData(int type, int index, int role)
- int selectionListItemCount(int type)
- void selectionListItemSelected(int type, int index)
- list<int> selectionLists()
- bool setInputMode(string locale, int inputMode)
- bool setTextCase(int textCase)
- Trace traceBegin(int traceId, int patternRecognitionMode, var traceCaptureDeviceInfo, var traceScreenInfo)
(since QtQuick.VirtualKeyboard 2.0) - bool traceEnd(Trace trace)
(since QtQuick.VirtualKeyboard 2.0) - void update()
详细说明
InputMethod 类型允许您创建自定义输入法,并将其分配给InputEngine 。
属性文档
inputContext : InputContext [read-only]
输入上下文。
inputEngine : InputEngine [read-only]
输入引擎。
Signal 文档
selectionListActiveItemChanged(int type, int index)
当由type 标识的选择列表中的当前index 发生变化时,该输入法会发出此信号。
注意: 对应的处理程序 为onSelectionListActiveItemChanged 。
selectionListChanged(int type)
当选择列表的内容发生变化时,该输入法会发出此信号。type 参数指定了发生变化的具体选择列表。
注意: 对应的处理程序 为onSelectionListChanged 。
[since QtQuick.VirtualKeyboard 2.2] selectionListsChanged()
当选择列表类型发生变化时,输入法会发出此信号。该信号将触发对selectionLists() 方法的调用,从而允许输入法更新选择列表类型。
注意: 相应的处理程序 是onSelectionListsChanged 。
该信号在 QtQuick.VirtualKeyboard 2.2 中引入。
方法文档
[since QtQuick.VirtualKeyboard 2.4] bool clickPreeditText(int cursorPosition)
当用户点击cursorPosition 上的预编辑文本时调用。
如果该函数处理了该事件,则应返回true ;否则,输入将回退到reselect() 进行进一步处理。
该方法在 QtQuick.VirtualKeyboard 2.4 版本中引入。
list<int> inputModes(string locale)
返回locale 的输入模式列表。
bool keyEvent(int key, string text, int modifiers)
此方法的目的是处理由输入引擎生成的键盘事件。
key 参数指定要处理的键的代码。键代码不区分大写和小写字母。text 参数包含该键的Unicode文本。modifiers 参数包含适用于key 的键修饰符。
如果键事件处理成功,该方法将返回true 。如果返回值为false ,则键事件将被重定向至默认输入法进行进一步处理。
[since QtQuick.VirtualKeyboard 2.0] list<int> patternRecognitionModes()
返回支持的模式识别模式列表。
该方法由输入引擎调用,用于查询支持的图案识别模式列表。
该方法在 QtQuick.VirtualKeyboard 2.0 中引入。
[since QtQuick.VirtualKeyboard 2.0] bool reselect(int cursorPosition, int reselectFlags)
该方法试图重新选中位于cursorPosition 处的单词。reselectFlags 定义了根据光标位置选中该单词的规则。
InputEngine.WordBeforeCursor激活光标前面的单词。当仅使用此标志时,该单词必须正好以光标位置结束。InputEngine.WordAfterCursor激活光标后面的单词。当仅使用此标志时,该单词必须正好从光标处开始。InputEngine.WordAtCursor激活光标所在位置的单词。该标志结合了上述标志的功能,但单词不能始于或止于光标位置。
如果单词被成功重新选中,该方法将返回true 。
该方法在 QtQuick.VirtualKeyboard 2.0 中引入。
void reset()
当需要重置此输入法时,输入引擎会调用此方法。输入法仅需重置其内部状态。与update()方法的主要区别在于,reset()仅修改输入法的状态;它绝不能修改输入上下文。
var selectionListData(int type, int index, int role)
返回由type 标识的选择列表的项数据。role 参数指定要请求的数据。index 参数是选择列表中以零为起点的索引。
int selectionListItemCount(int type)
返回由 `type` 标识的选择列表中的项目数量。
void selectionListItemSelected(int type, int index)
当用户选中index 中的某项时,将调用此方法。选择列表由type 参数标识。
list<int> selectionLists()
返回该输入法所使用的选择类型列表。
当输入法被激活时,以及每次输入法提示更新时,输入引擎都会调用此方法。输入法可以通过返回所需的选型列表类型来预留选型列表。
输入法可随时通过发出selectionListsChanged()信号,请求输入引擎更新选择列表。该信号将触发对本方法的调用,从而允许输入法更新选择列表类型。
bool setInputMode(string locale, int inputMode)
修改该输入法对应的inputMode 和locale 。如果操作成功,该方法将返回true 。
bool setTextCase(int textCase)
更新此输入法的textCase 。如果操作成功,该方法将返回true 。
text case 的可能取值为:
InputEngine.Lower小写文本。InputEngine.Upper大写文本。
[since QtQuick.VirtualKeyboard 2.0] Trace traceBegin(int traceId, int patternRecognitionMode, var traceCaptureDeviceInfo, var traceScreenInfo)
当与指定的patternRecognitionMode 建立跟踪交互时,将调用此方法。该跟踪通过traceId 进行唯一标识。traceCaptureDeviceInfo 提供源设备的相关信息,而traceScreenInfo 提供屏幕上下文的相关信息。
如果输入法接受该事件并希望捕获轨迹输入,则必须返回一个新的 Trace 对象。该对象必须保持有效,直到调用InputMethod.traceEnd() 方法为止。如果该轨迹在屏幕上渲染,则会一直保留在那里,直到 Trace 对象被销毁为止。
该方法在 QtQuick.VirtualKeyboard 2.0 中引入。
[since QtQuick.VirtualKeyboard 2.0] bool traceEnd(Trace trace)
当跟踪交互结束时,会调用此方法。输入法应在该函数调用后的某个时间点销毁trace 对象。成功时返回true 。
有关如何访问收集到的数据,请参阅《输入法追踪 API》。
该方法在 QtQuick.VirtualKeyboard 2.0 中引入。
void update()
当输入法需要更新时,输入引擎会调用此方法。输入法必须关闭当前的预编辑文本,并将内部状态恢复为默认状态。
© 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.