QVirtualKeyboardAbstractInputMethod 类

输入方法的基本类。 更多...

头文件 #include <QVirtualKeyboardAbstractInputMethod>
CMakefind_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard)
target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard)
qmakeQT += virtualkeyboard
继承 QObject

公共函数

QVirtualKeyboardAbstractInputMethod(QObject *parent = nullptr)
virtual~QVirtualKeyboardAbstractInputMethod()
(since QtQuick.VirtualKeyboard 2.4) virtual boolclickPreeditText(int cursorPosition)
QVirtualKeyboardInputContext *inputContext() const
QVirtualKeyboardInputEngine *inputEngine() const
virtual QList<QVirtualKeyboardInputEngine::InputMode>inputModes(const QString &locale) = 0
virtual boolkeyEvent(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 boolreselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags)
virtual QVariantselectionListData(QVirtualKeyboardSelectionListModel::Type type, int index, QVirtualKeyboardSelectionListModel::Role role)
virtual intselectionListItemCount(QVirtualKeyboardSelectionListModel::Type type)
virtual voidselectionListItemSelected(QVirtualKeyboardSelectionListModel::Type type, int index)
virtual boolselectionListRemoveItem(QVirtualKeyboardSelectionListModel::Type type, int index)
virtual QList<QVirtualKeyboardSelectionListModel::Type>selectionLists()
virtual boolsetInputMode(const QString &locale, QVirtualKeyboardInputEngine::InputMode inputMode) = 0
virtual boolsetTextCase(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 booltraceEnd(QVirtualKeyboardTrace *trace)

公共槽函数

(自QtQuick.VirtualKeyboard 6.1以来) virtual voidclearInputMode()
virtual voidreset()
virtual voidupdate()

信号

voidselectionListActiveItemChanged(QVirtualKeyboardSelectionListModel::Type type, int index)
voidselectionListChanged(QVirtualKeyboardSelectionListModel::Type type)
(自QtQuick.VirtualKeyboard 2.2以来) voidselectionListsChanged()

详细信息

如果你想使用C/C++语言实现自定义输入法,请使用此类。

成员函数文档

[显式] QVirtualKeyboardAbstractInputMethod::QVirtualKeyboardAbstractInputMethod(QObject *parent = nullptr)

使用父对象构建一个输入法。

[虚拟 noexcept] QVirtualKeyboardAbstractInputMethod::~QVirtualKeyboardAbstractInputMethod()

销毁输入法并释放所有分配的资源。

[虚拟槽,自QtQuick.VirtualKeyboard 6.1以来] void QVirtualKeyboardAbstractInputMethod::clearInputMode()

清除输入模式。

此方法在虚拟键盘用另一个输入法替换当前输入法时被调用。它应该清除由 setInputMode() 方法执行的各类操作,例如,将信号处理程序与虚拟键盘断开连接或释放资源。

可以通过调用 setInputMode() 来重新激活输入模式。但是,请注意,对 setInputMethod() 和 clearInputMethod() 的调用不平衡。因此,例如,setInputMethod() 可能会被多次调用,而没有匹配的 clearInputMethod() 调用。

默认实现没有任何操作。

此功能是在QtQuick.VirtualKeyboard 6.1中引入的。

[虚拟,自QtQuick.VirtualKeyboard 2.4以来] bool QVirtualKeyboardAbstractInputMethod::clickPreeditText(int cursorPosition)

用户在 游标位置 的预编辑文本上点击时调用此函数。

如果函数处理了事件,则应返回 true。否则,输入将回退到 reselect() 以进行进一步处理。

此功能是在QtQuick.VirtualKeyboard 2.4中引入的。

QVirtualKeyboardInputContext *QVirtualKeyboardAbstractInputMethod::inputContext() const

返回与输入法关联的输入上下文。如果输入法不是活动状态,此方法返回 NULL

QVirtualKeyboardInputEngine *QVirtualKeyboardAbstractInputMethod::inputEngine() const

获取与输入法关联的输入引擎。如果输入法未激活,此方法返回 NULL

[纯虚函数] QList<QVirtualKeyboardInputEngine::InputMode> QVirtualKeyboardAbstractInputMethod::inputModes(const QString &locale)

返回指定区域设置的输入模式列表。

[纯虚函数] bool QVirtualKeyboardAbstractInputMethod::keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)

此方法用于处理输入引擎生成的键事件。

key 参数指定要处理的按键代码。按键代码不区分大小写。 text 参数包含该键的 Unicode 文本。 modifiers 参数包含应用于键的按键修饰符。

如果成功处理键事件,则此方法返回 true。如果返回值是 false,则将键事件重定向到默认输入法进行进一步处理。

[虚拟函数,自 QtQuick.VirtualKeyboard 2.0 起存在] QList<QVirtualKeyboardInputEngine::PatternRecognitionMode> QVirtualKeyboardAbstractInputMethod::patternRecognitionModes() const

返回受支持的模式识别模式列表。

输入引擎调用此方法来查询受支持的模式识别模式列表。

此函数自 QtQuick.VirtualKeyboard 2.0 版本开始存在。

[虚拟函数,自 QtQuick.VirtualKeyboard 2.0 起存在] bool QVirtualKeyboardAbstractInputMethod::reselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags)

此函数尝试在 cursorPosition 位置重新选择一个单词。 reselectFlags 定义单词相对于光标位置的选中规则。

如果成功重新选择单词,则该函数返回 true

此函数自 QtQuick.VirtualKeyboard 2.0 版本开始存在。

[虚拟槽] void QVirtualKeyboardAbstractInputMethod::reset()

当输入法需要重置时,输入引擎调用此方法。输入法必须只重置其内部状态。与 update() 方法的不同之处在于 reset() 只修改输入法状态,即它必须不修改输入上下文。

[信号] void QVirtualKeyboardAbstractInputMethod::selectionListActiveItemChanged(QVirtualKeyboardSelectionListModel::Type type, int index)

输入法在当前 indextype 指定的选择列表中发生变化时发射此信号。

[信号] void QVirtualKeyboardAbstractInputMethod::selectionListChanged(QVirtualKeyboardSelectionListModel::Type type)

当选择列表内容发生变化时,输入法发出此信号。参数type指定了哪个选择列表已更改。

[虚函数] QVariant QVirtualKeyboardAbstractInputMethod::selectionListData(QVirtualKeyboardSelectionListModel::Type type, int index, QVirtualKeyboardSelectionListModel::Role role)

返回由type指定的选择列表项的数据。参数role指定了请求的数据类型。参数index是列表中的零基索引。

[虚函数] int QVirtualKeyboardAbstractInputMethod::selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type)

返回由type指定的选择列表的项数。

[虚函数] void QVirtualKeyboardAbstractInputMethod::selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type type, int index)

当用户在index处选择了项时调用此方法。选择列表由type参数标识。

[虚函数] bool QVirtualKeyboardAbstractInputMethod::selectionListRemoveItem(QVirtualKeyboardSelectionListModel::Type type, int index)

当需要从字典中删除index处的项时调用此方法。选择列表由type参数标识。如果单词成功删除,函数返回true

[虚函数] QList<QVirtualKeyboardSelectionListModel::Type> QVirtualKeyboardAbstractInputMethod::selectionLists()

返回此输入法使用的选中列表列表。

当输入法被激活时,每次输入法提示更新时,输入引擎会调用此方法。输入法可以通过返回所需的选择列表类型来预留选择列表。

输入法可以随时通过发出selectionListsChanged()信号请求输入引擎更新选择列表。此信号将触发对此方法的调用,允许输入法更新选择列表类型。

[信号,自 QtQuick.VirtualKeyboard 2.2 起使用] void QVirtualKeyboardAbstractInputMethod::selectionListsChanged()

当选择列表类型发生变化时,输入法发出此信号。此信号将触发对selectionLists()方法的调用,允许输入法更新选择列表类型。

此函数是在 QtQuick.VirtualKeyboard 2.2 中引入的。

[纯虚函数] bool QVirtualKeyboardAbstractInputMethod::setInputMode(const QString &locale, QVirtualKeyboardInputEngine::InputMode inputMode)

为该输入法设置inputModelocale。如果成功则返回true

[纯虚函数] bool QVirtualKeyboardAbstractInputMethod::setTextCase(QVirtualKeyboardInputEngine::TextCase textCase)

更新该输入法的textCase。如果成功则方法返回true

[虚函数,自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 版本开始存在。

[虚函数,自QtQuick.VirtualKeyboard 2.0版本起] bool QVirtualKeyboardAbstractInputMethod::traceEnd(QVirtualKeyboardTrace *trace)

当跟踪交互结束时调用此方法。输入法应在调用此函数后的一些时间点销毁trace对象。有关如何访问收集到的数据的说明,请参阅输入法跟踪API

如果接受跟踪交互,则方法返回true

此函数自 QtQuick.VirtualKeyboard 2.0 版本开始存在。

[虚槽函数] void QVirtualKeyboardAbstractInputMethod::update()

当输入法需要更新时,输入引擎会调用此方法。输入法必须关闭当前的前编辑文本,并将内部状态恢复到默认状态。

© 2024 Qt公司有限公司。包含在此处的文档贡献的版权属于各自的拥有者。本提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款授权的。Qt和相应的标志是Qt公司在芬兰和/或全球其他国家的商标。所有其他商标均为其各自所有者的财产。