QVirtualKeyboardInputEngine 类
InputEngine 类提供了一个支持 C++ 和 QML 集成的输入引擎。...
头文件 | #include <QVirtualKeyboardInputEngine> |
CMake | find_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard) target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard) |
qmake | QT += virtualkeyboard |
由以下类实例化 | InputEngine |
继承自 | QObject |
公共类型
enum class | InputMode { Latin, Numeric, Dialable, Pinyin, Cangjie, …, Romaji } |
enum class | PatternRecognitionMode { None, PatternRecognitionDisabled, Handwriting, HandwritingRecoginition } |
enum class | ReselectFlag { WordBeforeCursor, WordAfterCursor, WordAtCursor } |
flags | ReselectFlags |
enum class | TextCase { Lower, Upper } |
属性
|
|
公共函数
Qt::Key | activeKey() const |
QVirtualKeyboardInputContext * | inputContext() const |
QVirtualKeyboardAbstractInputMethod * | inputMethod() const |
QVirtualKeyboardInputEngine::InputMode | inputMode() const |
QList<int> | inputModes() const |
QList<int> | patternRecognitionModes() const |
Qt::Key | previousKey() const |
(since QtQuick.VirtualKeyboard 2.0) bool | reselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags) |
void | setInputMethod(QVirtualKeyboardAbstractInputMethod *inputMethod) |
void | setInputMode(QVirtualKeyboardInputEngine::InputMode inputMode) |
(自 QtQuick.VirtualKeyboard 2.0 开始) QVirtualKeyboardTrace * | traceBegin(int traceId, QVirtualKeyboardInputEngine::PatternRecognitionMode patternRecognitionMode, const QVariantMap &traceCaptureDeviceInfo, const QVariantMap &traceScreenInfo) |
bool | traceEnd(QVirtualKeyboardTrace *trace) |
void | virtualKeyCancel() |
bool | virtualKeyClick(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers) |
bool | virtualKeyPress(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool repeat) |
bool | virtualKeyRelease(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers) |
QVirtualKeyboardSelectionListModel * | wordCandidateListModel() const |
bool | wordCandidateListVisibleHint() const |
信号
void | activeKeyChanged(Qt::Key key) |
void | inputMethodChanged() |
void | inputMethodReset() |
void | inputMethodUpdate() |
void | inputModeChanged() |
void | inputModesChanged() |
(自 QtQuick.VirtualKeyboard 2.0 开始) void | patternRecognitionModesChanged() |
void | previousKeyChanged(Qt::Key key) |
void | virtualKeyClicked(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool isAutoRepeat) |
void | wordCandidateListModelChanged() |
void | wordCandidateListVisibleHintChanged() |
成员类型文档
枚举类 QVirtualKeyboardInputEngine::InputMode
此枚举指定输入方法的输入模式。
常量 | 值 | 描述 |
---|---|---|
QVirtualKeyboardInputEngine::InputMode::Latin | 0 | 拉丁文本的默认输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Numeric | 1 | 只允许数字输入。 |
QVirtualKeyboardInputEngine::InputMode::Dialable | 2 | 只允许可拨号输入。 |
QVirtualKeyboardInputEngine::InputMode::Pinyin | 3 | 中文的拼音输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Cangjie | 4 | 中文的仓颉输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Zhuyin | 5 | 中文的注音输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Hangul | 6 | 韩文的韩文输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Hiragana | 7 | 日文的平假名输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Katakana | 8 | 日文的片假名输入模式。 |
QVirtualKeyboardInputEngine::InputMode::FullwidthLatin | 9 | 东亚语言的全角拉丁输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Greek | 10 | 希腊输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Cyrillic | 11 | 西里尔输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Arabic | 12 | 阿拉伯输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Hebrew | 13 | 希伯来输入模式。 |
QVirtualKeyboardInputEngine::InputMode::ChineseHandwriting | 14 | 中文的手写输入模式。 |
QVirtualKeyboardInputEngine::InputMode::JapaneseHandwriting | 15 | 日文的手写输入模式。 |
QVirtualKeyboardInputEngine::InputMode::KoreanHandwriting | 16 | 韩文的手写输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Thai | 17 | 泰文输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Stroke | 18 | 中文的笔画输入模式。 |
QVirtualKeyboardInputEngine::InputMode::Romaji | 19 | 日文的罗马字输入模式。 |
枚举类 QVirtualKeyboardInputEngine::PatternRecognitionMode
此枚举指定输入方法的输入模式。
常量 | 值 | 描述 |
---|---|---|
QVirtualKeyboardInputEngine::PatternRecognitionMode::None | 0 | 不可用模式识别。 |
QVirtualKeyboardInputEngine::PatternRecognitionMode::PatternRecognitionDisabled | 无 | 已废弃 使用 PatternRecognitionMode::None |
QVirtualKeyboardInputEngine::PatternRecognitionMode::Handwriting | 1 | 手写识别的模式。 |
QVirtualKeyboardInputEngine::PatternRecognitionMode::HandwritingRecoginition | 手写 | 已废弃 使用 PatternRecognitionMode::Handwriting |
枚举类 QVirtualKeyboardInputEngine::ReselectFlag
标志 QVirtualKeyboardInputEngine::ReselectFlags
此枚举指定了单词重新选择规则。
常量 | 值 | 描述 |
---|---|---|
QVirtualKeyboardInputEngine::ReselectFlag::WordBeforeCursor | 0x1 | 激活光标前的单词。当只使用此标志时,单词必须精确地在光标处结束。 |
QVirtualKeyboardInputEngine::ReselectFlag::WordAfterCursor | 0x2 | 激活光标后的单词。当只使用此标志时,单词必须精确地在光标处开始。 |
QVirtualKeyboardInputEngine::ReselectFlag::WordAtCursor | WordBeforeCursor | WordAfterCursor | 激活光标处的单词。此标志是上述标志的组合,但单词不能在光标处开始或结束。 |
ReselectFlags 类型是 QFlags
枚举类 QVirtualKeyboardInputEngine::TextCase
此枚举指定输入法的文字大小写。
常量 | 值 | 描述 |
---|---|---|
QVirtualKeyboardInputEngine::TextCase::Lower | 0 | 小写文本。 |
QVirtualKeyboardInputEngine::TextCase::Upper | 1 | 大写文本。 |
属性文档
[只读]
activeKey : const Qt::Key
此属性保存活动的键。
当前按下的键。
访问函数
Qt::Key | activeKey() const |
通知信号
void | activeKeyChanged(Qt::Key key) |
inputMethod : QVirtualKeyboardAbstractInputMethod*
此属性保存活动的输入法。
使用此属性设置活动输入法或监视活动输入法何时更改。
访问函数
QVirtualKeyboardAbstractInputMethod * | inputMethod() const |
void | setInputMethod(QVirtualKeyboardAbstractInputMethod *inputMethod) |
通知信号
void | inputMethodChanged() |
inputMode : InputMode
此属性保存当前的输入模式。
使用此属性获取或设置当前输入模式。InputEngine::inputModes 提供了当前输入方法和区域设置的合法输入模式列表。
访问函数
QVirtualKeyboardInputEngine::InputMode | inputMode() const |
void | setInputMode(QVirtualKeyboardInputEngine::InputMode inputMode) |
通知信号
void | inputModeChanged() |
[只读]
inputModes : const QList<int>
此属性保存当前活动输入法的可用输入模式。
可用输入模式列表取决于输入法和区域设置。当这些依赖项之一更改时,此属性就会更新。
访问函数
QList<int> | inputModes() const |
通知信号
void | inputModesChanged() |
[只读,自 QtQuick.VirtualKeyboard 2.0 版本起]
patternRecognitionModes : const QList<int>
该属性包含可用的模式识别模式列表。
可用的模式识别模式列表。
此属性自 QtQuick.VirtualKeyboard 2.0 版本引入。
访问函数
QList<int> | patternRecognitionModes() const |
通知信号
[只读]
previousKey : const Qt::Key
该属性包含之前激活的键。
之前按下的键。
访问函数
Qt::Key | previousKey() const |
通知信号
void | previousKeyChanged(Qt::Key key) |
[只读]
wordCandidateListModel : QVirtualKeyboardSelectionListModel* const
单词候选列表的列表模型。
使用此属性以访问单词候选列表的列表模型。
访问函数
QVirtualKeyboardSelectionListModel * | wordCandidateListModel() const |
通知信号
void | wordCandidateListModelChanged() |
[只读]
wordCandidateListVisibleHint : const bool
单词候选列表的可见提示。
使用此属性以检查单词候选列表是否应在 UI 中可见。
访问函数
bool | wordCandidateListVisibleHint() const |
通知信号
void | wordCandidateListVisibleHintChanged() |
成员函数文档
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)
为给定的key、text和modifiers生成按键事件。如果输入引擎接受按键事件,则返回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() 来丢弃按键事件。
如果 repeat 为 true
,按键也会启动键重复计时器。
如果此输入引擎接受了按键,则返回 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. 在芬兰及其他国家和地区的商标。所有其他商标均为各自所有者的财产。