QVirtualKeyboardAbstractInputMethod Class
输入法的基类。更多内容...
| 头文件: | #include <QVirtualKeyboardAbstractInputMethod> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard) target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard) |
| qmake: | QT += virtualkeyboard |
| 继承自: | QObject |
公共函数
| QVirtualKeyboardAbstractInputMethod(QObject *parent = nullptr) | |
| virtual | ~QVirtualKeyboardAbstractInputMethod() |
(since QtQuick.VirtualKeyboard 2.4) virtual bool | clickPreeditText(int cursorPosition) |
| QVirtualKeyboardInputContext * | inputContext() const |
| QVirtualKeyboardInputEngine * | inputEngine() const |
| virtual QList<QVirtualKeyboardInputEngine::InputMode> | inputModes(const QString &locale) = 0 |
| virtual bool | keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers) = 0 |
(since QtQuick.VirtualKeyboard 2.0) virtual QList<QVirtualKeyboardInputEngine::PatternRecognitionMode> | patternRecognitionModes() const |
(since QtQuick.VirtualKeyboard 2.0) virtual bool | reselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags) |
| virtual QVariant | selectionListData(QVirtualKeyboardSelectionListModel::Type type, int index, QVirtualKeyboardSelectionListModel::Role role) |
| virtual int | selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type) |
| virtual void | selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type type, int index) |
| virtual bool | selectionListRemoveItem(QVirtualKeyboardSelectionListModel::Type type, int index) |
| virtual QList<QVirtualKeyboardSelectionListModel::Type> | selectionLists() |
| virtual bool | setInputMode(const QString &locale, QVirtualKeyboardInputEngine::InputMode inputMode) = 0 |
| virtual bool | setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) = 0 |
(since QtQuick.VirtualKeyboard 2.0) virtual QVirtualKeyboardTrace * | traceBegin(int traceId, QVirtualKeyboardInputEngine::PatternRecognitionMode patternRecognitionMode, const QVariantMap &traceCaptureDeviceInfo, const QVariantMap &traceScreenInfo) |
(since QtQuick.VirtualKeyboard 2.0) virtual bool | traceEnd(QVirtualKeyboardTrace *trace) |
公共槽
(since 6.1) virtual void | clearInputMode() |
| virtual void | reset() |
| virtual void | update() |
信号
| void | selectionListActiveItemChanged(QVirtualKeyboardSelectionListModel::Type type, int index) |
| void | selectionListChanged(QVirtualKeyboardSelectionListModel::Type type) |
(since QtQuick.VirtualKeyboard 2.2) void | selectionListsChanged() |
成员函数文档
[explicit] QVirtualKeyboardAbstractInputMethod::QVirtualKeyboardAbstractInputMethod(QObject *parent = nullptr)
使用parent 构建一个输入法。
[virtual noexcept] QVirtualKeyboardAbstractInputMethod::~QVirtualKeyboardAbstractInputMethod()
销毁输入法并释放所有已分配的资源。
[virtual slot, since 6.1] void QVirtualKeyboardAbstractInputMethod::clearInputMode()
清除输入模式。
当该输入法被其他输入法替换时,虚拟键盘会调用此方法。它应清除由setInputMode()方法执行的操作,例如,从虚拟键盘断开信号处理程序的连接或释放资源。
可通过调用 `setInputMode()` 重新激活该输入法。但请注意,对 `setInputMethod()` 和 `clearInputMethod()` 的调用并不对等。因此,例如,`setInputMethod()` 可能被多次调用,而没有相应的 `clearInputMethod()` 调用。
默认实现不执行任何操作。
该函数在 Qt 6.1 中引入。
[virtual, since QtQuick.VirtualKeyboard 2.4] bool QVirtualKeyboardAbstractInputMethod::clickPreeditText(int cursorPosition)
当用户点击cursorPosition 上的预编辑文本时调用此函数。
如果该函数处理该事件,则应返回true 。否则,输入将回退到reselect() 进行进一步处理。
该函数在 QtQuick.VirtualKeyboard 2.4 中引入。
QVirtualKeyboardInputContext *QVirtualKeyboardAbstractInputMethod::inputContext() const
返回与该输入法关联的输入上下文。如果该输入法未处于活动状态,则该方法返回NULL 。
QVirtualKeyboardInputEngine *QVirtualKeyboardAbstractInputMethod::inputEngine() const
返回与该输入法关联的输入引擎。如果该输入法未处于活动状态,则此方法返回NULL 。
[pure virtual] QList<QVirtualKeyboardInputEngine::InputMode> QVirtualKeyboardAbstractInputMethod::inputModes(const QString &locale)
返回locale 的输入模式列表。
[pure virtual] bool QVirtualKeyboardAbstractInputMethod::keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)
此方法的目的是处理由输入引擎生成的键盘事件。
key 参数指定要处理的键的代码。键代码不区分大小写。text 参数包含该键的Unicode文本。modifiers 参数包含适用于该键的修饰键。
如果键盘事件处理成功,该方法将返回true 。如果返回值为false ,则键盘事件将被重定向至默认输入法以供进一步处理。
[virtual, since QtQuick.VirtualKeyboard 2.0] QList<QVirtualKeyboardInputEngine::PatternRecognitionMode> QVirtualKeyboardAbstractInputMethod::patternRecognitionModes() const
返回支持的模式识别模式列表。
该方法由输入引擎调用,用于查询支持的图案识别模式列表。
该函数自 QtQuick.VirtualKeyboard 2.0 起引入。
[virtual, since QtQuick.VirtualKeyboard 2.0] bool QVirtualKeyboardAbstractInputMethod::reselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags)
该函数尝试重新选中位于cursorPosition 处的单词。reselectFlags 定义了根据光标位置选中该单词的规则。
如果成功重新选中该单词,该函数将返回true 。
该函数首次引入于 QtQuick.VirtualKeyboard 2.0 版本。
[virtual slot] void QVirtualKeyboardAbstractInputMethod::reset()
当输入法需要重置时,输入引擎会调用此方法。输入法必须仅重置其内部状态。与update()方法的主要区别在于,reset()仅修改输入法的状态,即不得修改输入上下文。
[signal] void QVirtualKeyboardAbstractInputMethod::selectionListActiveItemChanged(QVirtualKeyboardSelectionListModel::Type type, int index)
当由 `type` 标识的选择列表中当前的 `index ` 发生变化时,该输入法会发出此信号。
[signal] void QVirtualKeyboardAbstractInputMethod::selectionListChanged(QVirtualKeyboardSelectionListModel::Type type)
当选择列表的内容发生变化时,该输入法会发出此信号。type 参数指定了发生变化的选择列表。
[virtual] QVariant QVirtualKeyboardAbstractInputMethod::selectionListData(QVirtualKeyboardSelectionListModel::Type type, int index, QVirtualKeyboardSelectionListModel::Role role)
返回由type 标识的选择列表中的项目数据。role 参数指定要请求的数据。index 参数是列表中以零为起点的索引。
[virtual] int QVirtualKeyboardAbstractInputMethod::selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type)
返回由type 标识的选择列表中的项目数量。
[virtual] void QVirtualKeyboardAbstractInputMethod::selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type type, int index)
当用户选中index 中的某个项目时,会调用此方法。选择列表由type 参数标识。
[virtual] bool QVirtualKeyboardAbstractInputMethod::selectionListRemoveItem(QVirtualKeyboardSelectionListModel::Type type, int index)
当需要从字典中删除位于index 处的条目时,会调用此方法。选择列表由type 参数指定。如果单词已成功删除,该函数将返回true 。
[virtual] QList<QVirtualKeyboardSelectionListModel::Type> QVirtualKeyboardAbstractInputMethod::selectionLists()
返回该输入法所使用的选择列表的列表。
当输入法被激活时,以及每次输入法提示更新时,输入引擎都会调用此方法。输入法可以通过返回所需的选词列表类型来预留选词列表。
输入法可随时通过发出selectionListsChanged()信号,请求输入引擎更新选择列表。该信号将触发对本方法的调用,从而允许输入法更新选择列表类型。
[signal, since QtQuick.VirtualKeyboard 2.2] void QVirtualKeyboardAbstractInputMethod::selectionListsChanged()
当选择列表类型发生变化时,输入法会发出此信号。该信号将触发对selectionLists()方法的调用,从而允许输入法更新选择列表类型。
该函数首次出现在 QtQuick.VirtualKeyboard 2.2 版本中。
[pure virtual] bool QVirtualKeyboardAbstractInputMethod::setInputMode(const QString &locale, QVirtualKeyboardInputEngine::InputMode inputMode)
设置此输入法的inputMode 和locale 。如果成功,则返回true 。
[pure virtual] bool QVirtualKeyboardAbstractInputMethod::setTextCase(QVirtualKeyboardInputEngine::TextCase textCase)
更新此输入法的textCase 。如果操作成功,该方法将返回true 。
[virtual, since QtQuick.VirtualKeyboard 2.0] QVirtualKeyboardTrace *QVirtualKeyboardAbstractInputMethod::traceBegin(int traceId, QVirtualKeyboardInputEngine::PatternRecognitionMode patternRecognitionMode, const QVariantMap &traceCaptureDeviceInfo, const QVariantMap &traceScreenInfo)
当与指定的patternRecognitionMode 建立跟踪交互时,将调用此方法。该跟踪通过traceId 进行唯一标识。traceCaptureDeviceInfo 提供源设备的相关信息,而traceScreenInfo 提供屏幕上下文的相关信息。
如果输入法接受该事件并希望捕获轨迹输入,则必须返回一个新的QVirtualKeyboardTrace 对象。该对象必须保持有效,直到调用traceEnd() 方法为止。如果QVirtualKeyboardTrace 被渲染到屏幕上,它将一直保留在那里,直到QVirtualKeyboardTrace 对象被销毁为止。
该函数在 QtQuick.VirtualKeyboard 2.0 中引入。
[virtual, since QtQuick.VirtualKeyboard 2.0] bool QVirtualKeyboardAbstractInputMethod::traceEnd(QVirtualKeyboardTrace *trace)
当跟踪交互结束时,会调用此方法。输入方法应在该函数被调用后的某个时间点销毁trace 对象。有关如何访问收集到的数据,请参阅《输入方法的跟踪API》。
如果跟踪交互被接受,该方法将返回 `true `。
该函数首次出现在 QtQuick.VirtualKeyboard 2.0 中。
[virtual slot] void QVirtualKeyboardAbstractInputMethod::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.