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 QtQuick.VirtualKeyboard 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 QtQuick.VirtualKeyboard 6.1]
void QVirtualKeyboardAbstractInputMethod::clearInputMode()
清除输入模式。
当此输入法被其他输入法替换时,虚拟键盘会调用此方法。它应清除setInputMode() 方法执行的操作,例如,断开信号处理器与虚拟键盘的连接或释放资源。
输入模式可通过调用setInputMode() 重新激活。不过,请注意 setInputMethod() 和 clearInputMethod() 的调用是不平衡的。因此,举例来说,setInputMethod() 可能会被多次调用,而对 clearInputMethod() 的调用却不匹配。
默认实现什么也不做。
此函数在 QtQuick.VirtualKeyboard 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 参数包含适用于密钥的密钥修改器。
如果成功处理了 key 事件,此方法将返回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()
当输入法需要更新时,输入引擎会调用此方法。输入法必须关闭当前的编辑前文本,并将其内部状态恢复为默认状态。
© 2025 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.