QVirtualKeyboardInputEngine 类

InputEngine 类提供了一个支持 C++ 和 QML 集成的输入引擎。...

头文件 #include <QVirtualKeyboardInputEngine>
CMakefind_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard)
target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard)
qmakeQT += virtualkeyboard
由以下类实例化 InputEngine
继承自 QObject

公共类型

enum classInputMode { Latin, Numeric, Dialable, Pinyin, Cangjie, …, Romaji }
enum classPatternRecognitionMode { None, PatternRecognitionDisabled, Handwriting, HandwritingRecoginition }
enum classReselectFlag { WordBeforeCursor, WordAfterCursor, WordAtCursor }
flagsReselectFlags
enum classTextCase { Lower, Upper }

属性

公共函数

Qt::KeyactiveKey() const
QVirtualKeyboardInputContext *inputContext() const
QVirtualKeyboardAbstractInputMethod *inputMethod() const
QVirtualKeyboardInputEngine::InputModeinputMode() const
QList<int>inputModes() const
QList<int>patternRecognitionModes() const
Qt::KeypreviousKey() const
(since QtQuick.VirtualKeyboard 2.0) boolreselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags)
voidsetInputMethod(QVirtualKeyboardAbstractInputMethod *inputMethod)
voidsetInputMode(QVirtualKeyboardInputEngine::InputMode inputMode)
(自 QtQuick.VirtualKeyboard 2.0 开始) QVirtualKeyboardTrace *traceBegin(int traceId, QVirtualKeyboardInputEngine::PatternRecognitionMode patternRecognitionMode, const QVariantMap &traceCaptureDeviceInfo, const QVariantMap &traceScreenInfo)
booltraceEnd(QVirtualKeyboardTrace *trace)
voidvirtualKeyCancel()
boolvirtualKeyClick(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)
boolvirtualKeyPress(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool repeat)
boolvirtualKeyRelease(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)
QVirtualKeyboardSelectionListModel *wordCandidateListModel() const
boolwordCandidateListVisibleHint() const

信号

voidactiveKeyChanged(Qt::Key key)
voidinputMethodChanged()
voidinputMethodReset()
voidinputMethodUpdate()
voidinputModeChanged()
voidinputModesChanged()
(自 QtQuick.VirtualKeyboard 2.0 开始) voidpatternRecognitionModesChanged()
voidpreviousKeyChanged(Qt::Key key)
voidvirtualKeyClicked(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool isAutoRepeat)
voidwordCandidateListModelChanged()
voidwordCandidateListVisibleHintChanged()

详细描述

输入引擎负责将输入事件路由到输入方法。实际的输入逻辑由输入方法实现。

输入引擎还包括默认输入方法,如果当前活动输入方法未处理事件,则负责默认处理。

成员类型文档

枚举类 QVirtualKeyboardInputEngine::InputMode

此枚举指定输入方法的输入模式。

常量描述
QVirtualKeyboardInputEngine::InputMode::Latin0拉丁文本的默认输入模式。
QVirtualKeyboardInputEngine::InputMode::Numeric1只允许数字输入。
QVirtualKeyboardInputEngine::InputMode::Dialable2只允许可拨号输入。
QVirtualKeyboardInputEngine::InputMode::Pinyin3中文的拼音输入模式。
QVirtualKeyboardInputEngine::InputMode::Cangjie4中文的仓颉输入模式。
QVirtualKeyboardInputEngine::InputMode::Zhuyin5中文的注音输入模式。
QVirtualKeyboardInputEngine::InputMode::Hangul6韩文的韩文输入模式。
QVirtualKeyboardInputEngine::InputMode::Hiragana7日文的平假名输入模式。
QVirtualKeyboardInputEngine::InputMode::Katakana8日文的片假名输入模式。
QVirtualKeyboardInputEngine::InputMode::FullwidthLatin9东亚语言的全角拉丁输入模式。
QVirtualKeyboardInputEngine::InputMode::Greek10希腊输入模式。
QVirtualKeyboardInputEngine::InputMode::Cyrillic11西里尔输入模式。
QVirtualKeyboardInputEngine::InputMode::Arabic12阿拉伯输入模式。
QVirtualKeyboardInputEngine::InputMode::Hebrew13希伯来输入模式。
QVirtualKeyboardInputEngine::InputMode::ChineseHandwriting14中文的手写输入模式。
QVirtualKeyboardInputEngine::InputMode::JapaneseHandwriting15日文的手写输入模式。
QVirtualKeyboardInputEngine::InputMode::KoreanHandwriting16韩文的手写输入模式。
QVirtualKeyboardInputEngine::InputMode::Thai17泰文输入模式。
QVirtualKeyboardInputEngine::InputMode::Stroke18中文的笔画输入模式。
QVirtualKeyboardInputEngine::InputMode::Romaji19日文的罗马字输入模式。

枚举类 QVirtualKeyboardInputEngine::PatternRecognitionMode

此枚举指定输入方法的输入模式。

常量描述
QVirtualKeyboardInputEngine::PatternRecognitionMode::None0不可用模式识别。
QVirtualKeyboardInputEngine::PatternRecognitionMode::PatternRecognitionDisabled已废弃 使用 PatternRecognitionMode::None
QVirtualKeyboardInputEngine::PatternRecognitionMode::Handwriting1手写识别的模式。
QVirtualKeyboardInputEngine::PatternRecognitionMode::HandwritingRecoginition手写已废弃 使用 PatternRecognitionMode::Handwriting

枚举类 QVirtualKeyboardInputEngine::ReselectFlag
标志 QVirtualKeyboardInputEngine::ReselectFlags

此枚举指定了单词重新选择规则。

常量描述
QVirtualKeyboardInputEngine::ReselectFlag::WordBeforeCursor0x1激活光标前的单词。当只使用此标志时,单词必须精确地在光标处结束。
QVirtualKeyboardInputEngine::ReselectFlag::WordAfterCursor0x2激活光标后的单词。当只使用此标志时,单词必须精确地在光标处开始。
QVirtualKeyboardInputEngine::ReselectFlag::WordAtCursorWordBeforeCursor | WordAfterCursor激活光标处的单词。此标志是上述标志的组合,但单词不能在光标处开始或结束。

ReselectFlags 类型是 QFlags 的 typedef。它存储了 ReselectFlag 值的 OR 组合。

枚举类 QVirtualKeyboardInputEngine::TextCase

此枚举指定输入法的文字大小写。

常量描述
QVirtualKeyboardInputEngine::TextCase::Lower0小写文本。
QVirtualKeyboardInputEngine::TextCase::Upper1大写文本。

属性文档

[只读] activeKey : const Qt::Key

此属性保存活动的键。

当前按下的键。

访问函数

Qt::KeyactiveKey() const

通知信号

voidactiveKeyChanged(Qt::Key key)

inputMethod : QVirtualKeyboardAbstractInputMethod*

此属性保存活动的输入法。

使用此属性设置活动输入法或监视活动输入法何时更改。

访问函数

QVirtualKeyboardAbstractInputMethod *inputMethod() const
voidsetInputMethod(QVirtualKeyboardAbstractInputMethod *inputMethod)

通知信号

inputMode : InputMode

此属性保存当前的输入模式。

使用此属性获取或设置当前输入模式。InputEngine::inputModes 提供了当前输入方法和区域设置的合法输入模式列表。

访问函数

QVirtualKeyboardInputEngine::InputModeinputMode() const
voidsetInputMode(QVirtualKeyboardInputEngine::InputMode inputMode)

通知信号

[只读] inputModes : const QList<int>

此属性保存当前活动输入法的可用输入模式。

可用输入模式列表取决于输入法和区域设置。当这些依赖项之一更改时,此属性就会更新。

访问函数

QList<int>inputModes() const

通知信号

[只读,自 QtQuick.VirtualKeyboard 2.0 版本起] patternRecognitionModes : const QList<int>

该属性包含可用的模式识别模式列表。

可用的模式识别模式列表。

此属性自 QtQuick.VirtualKeyboard 2.0 版本引入。

访问函数

QList<int>patternRecognitionModes() const

通知信号

[只读] previousKey : const Qt::Key

该属性包含之前激活的键。

之前按下的键。

访问函数

Qt::KeypreviousKey() const

通知信号

voidpreviousKeyChanged(Qt::Key key)

[只读] wordCandidateListModel : QVirtualKeyboardSelectionListModel* const

单词候选列表的列表模型。

使用此属性以访问单词候选列表的列表模型。

访问函数

QVirtualKeyboardSelectionListModel *wordCandidateListModel() const

通知信号

voidwordCandidateListModelChanged()

[只读] wordCandidateListVisibleHint : const bool

单词候选列表的可见提示。

使用此属性以检查单词候选列表是否应在 UI 中可见。

访问函数

boolwordCandidateListVisibleHint() const

通知信号

voidwordCandidateListVisibleHintChanged()

成员函数文档

Qt::Key QVirtualKeyboardInputEngine::activeKey() const

返回当前激活的键,如果没有键激活,则返回 Qt::Key_unknown

注意:activeKey 属性的获取器函数。

[信号] void QVirtualKeyboardInputEngine::activeKeyChanged(Qt::Key key)

指示已更改活动键。

注意:activeKey 属性的通告信号。

QVirtualKeyboardInputContext *QVirtualKeyboardInputEngine::inputContext() const

返回与输入引擎关联的 InputContext 实例。

QVirtualKeyboardAbstractInputMethod *QVirtualKeyboardInputEngine::inputMethod() const

返回活动输入方法。

注意:inputMethod 属性的获取器函数。

另请参阅:setInputMethod()。

[信号] void QVirtualKeyboardInputEngine::inputMethodChanged()

指示输入方法已更改。

注意:inputMethod 属性的通告信号。

[信号] void QVirtualKeyboardInputEngine::inputMethodReset()

当需要重置输入方法时发出。

注意:当输入法被激活时,该信号会自动连接到QVirtualKeyboardAbstractInputMethod::reset()和InputMethod::reset()。

[signal] void QVirtualKeyboardInputEngine::inputMethodUpdate()

注意:当输入法被激活时,该信号会自动连接到QVirtualKeyboardAbstractInputMethod::update()和InputMethod::update()。

[signal] void QVirtualKeyboardInputEngine::inputModeChanged()

表示输入模式已更改。

注意:属性的通知信号。

QList<int> QVirtualKeyboardInputEngine::inputModes() const

返回可用输入模式的列表。

注意:属性inputModes的获取器函数。

[signal] void QVirtualKeyboardInputEngine::inputModesChanged()

表示可用的输入模式已更改。

注意:属性的通知信号。

QList<int> QVirtualKeyboardInputEngine::patternRecognitionModes() const

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

注意:属性patternRecognitionModes的获取器函数。

[signal, since QtQuick.VirtualKeyboard 2.0] void QVirtualKeyboardInputEngine::patternRecognitionModesChanged()

表示可用的图案识别模式已更改。

注意:属性的通知信号。

此函数自QtQuick.VirtualKeyboard 2.0版本中引入。

Qt::Key QVirtualKeyboardInputEngine::previousKey() const

返回之前活动的键,如果没有键处于活动状态,则为Qt::Key_unknown

注意:属性previousKey的获取器函数。

[signal] void QVirtualKeyboardInputEngine::previousKeyChanged(Qt::Key key)

表示之前的已更改。

注意:属性的通知信号。

[invokable, since QtQuick.VirtualKeyboard 2.0] bool QVirtualKeyboardInputEngine::reselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags)

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

如果单词成功被重新选择,则函数返回码`true`。

注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

此函数自QtQuick.VirtualKeyboard 2.0版本中引入。

void QVirtualKeyboardInputEngine::setInputMethod(QVirtualKeyboardAbstractInputMethod *inputMethod)

将《i translate="no">输入法`设置为活动输入法。

注意:属性inputMethod的设置函数。

另请参阅:inputMethod

[可调用,自 QtQuick.VirtualKeyboard 2.0 起可用] QVirtualKeyboardTrace *QVirtualKeyboardInputEngine::traceBegin(int traceId, QVirtualKeyboardInputEngine::PatternRecognitionMode patternRecognitionMode, const QVariantMap &traceCaptureDeviceInfo, const QVariantMap &traceScreenInfo)

开始与输入引擎的跟踪交互。

跟踪通过traceId唯一标识。如果输入方法接受事件,输入引擎将为QVirtualKeyboardTrace对象分配该ID。

patternRecognitionMode指定用于图案的识别模式。

如果当前输入方法接受事件,则返回与该交互关联的QVirtualKeyboardTrace对象。如果输入方法丢弃事件,则返回NULL值。

traceCaptureDeviceInfo提供有关源设备和traceScreenInfo提供有关屏幕上下文的信息。

根据定义,在调用traceEnd()方法之前,QVirtualKeyboardTrace对象保持有效。

通过调用traceEnd()方法结束跟踪交互。

注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

此函数自QtQuick.VirtualKeyboard 2.0版本中引入。

[可调用] bool QVirtualKeyboardInputEngine::traceEnd(QVirtualKeyboardTrace *trace)

结束与输入引擎的跟踪交互。

在调用此函数后,可随时丢弃trace对象。

如果跟踪交互被接受(即不应将触摸事件用于其他目的),则该函数返回true。

注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

[可调用] void QVirtualKeyboardInputEngine::virtualKeyCancel()

不生成按键事件,恢复活动按键状态。此方法在用户丢弃当前按键且需要恢复按键状态时很有用。

注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

[可调用] bool QVirtualKeyboardInputEngine::virtualKeyClick(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)

为给定的keytextmodifiers生成按键事件。如果输入引擎接受按键事件,则返回true。

注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

[信号] void QVirtualKeyboardInputEngine::virtualKeyClicked(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool isAutoRepeat)

表示虚拟 被点击,并带有指定的 文本修饰符isAutoRepeat 表示事件在按键过程中是否自动重复。此信号在输入法处理按键事件之后发出。

[可调用] bool QVirtualKeyboardInputEngine::virtualKeyPress(Qt::Key , const QString &文本, Qt::KeyboardModifiers 修饰符, bool repeat)

由键盘层调用,以表示 被按下,并带有指定的 文本修饰符

被设置为活动键(下键)。实际按键事件在通过 virtualKeyRelease() 方法释放键时触发。可以通过调用 virtualKeyCancel() 来丢弃按键事件。

如果 repeattrue,按键也会启动键重复计时器。

如果此输入引擎接受了按键,则返回 true

注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

另请参阅 virtualKeyCancel() 和 virtualKeyRelease

[可调用] bool QVirtualKeyboardInputEngine::virtualKeyRelease(Qt::Key , const QString &文本, Qt::KeyboardModifiers 修饰符)

上释放键。如果事件尚未由重复计时器生成,该方法将向输入法发出按键事件。将 文本修饰符 传递给输入法。

如果输入引擎接受了键,则返回 true

注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

© 2024 The Qt Company Ltd. 本文档中的贡献属于各自的版权所有者。本文档受 GNU 自由文档许可协议版本 1.3 的条款许可,由自由软件基金会发布。Qt 及相应标志是 The Qt Company Ltd. 在芬兰及其他国家和地区的商标。所有其他商标均为各自所有者的财产。