QInputMethod类

The QInputMethod class provides access to the active text input method. 更多...

头文件 #include <QInputMethod>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui
继承 QObject

公共类型

枚举Action { Click, ContextMenu }

属性

公共函数

QRectFanchorRectangle() const
QRectFcursorRectangle() const
Qt::LayoutDirectioninputDirection() const
QRectFinputItemClipRectangle() const
QRectFinputItemRectangle() const
QTransforminputItemTransform() const
boolisAnimating() const
boolisVisible() const
QRectFkeyboardRectangle() const
QLocalelocale() const
voidsetInputItemRectangle(const QRectF &rect)
voidsetInputItemTransform(const QTransform &transform)
voidsetVisible(bool visible)

公共槽

voidcommit()
voidhide()
voidinvokeAction(QInputMethod::Action a, int cursorPosition)
voidreset()
voidshow()
voidupdate(Qt::InputMethodQueries queries)

信号

静态公有成员

QVariantqueryFocusObject(Qt::InputMethodQuery query, const QVariant &argument)

详细描述

QInputMethod 被文本编辑器用于集成平台文本输入方法,更常见的是被应用程序视图用于查询各种文本输入方法相关的信息,如虚拟键盘可见性和键盘尺寸。

Qt Quick 还通过 Qt 全局对象 提供对 QInputMethod 的访问,作为 Qt.inputMethod 属性。

成员类型文档

枚举 QInputMethod::Action

表示用户执行的动作类型。

常量描述
QInputMethod::Click0正常点击/触摸
QInputMethod::ContextMenu1上下文菜单点击/触摸(例如,右键点击或长按)

另请参阅invokeAction

属性文档

[只读] anchorRectangle : const QRectF

输入项的锚点矩形,以窗口坐标表示。

锚点矩形通常由各种文本编辑控件(如文本预测弹出窗口)用于跟随文本选择。

访问函数

QRectFanchorRectangle() const

通知器信号

voidanchorRectangleChanged()

[只读] animating : const bool

当虚拟键盘正在打开或关闭时为真。

当键盘完全打开或关闭时,动图为假。当 animatingtruevisibilitytrue 时,键盘正在打开。当 animatingtruevisibilityfalse 时,键盘正在关闭。

访问函数

boolisAnimating() const

通知器信号

voidanimatingChanged()

[只读] cursorRectangle : const QRectF

输入项的光标矩形,以窗口坐标表示。

光标矩形通常由各种文本编辑控件(如文本预测弹出窗口)用于跟随正在输入的文本。

访问函数

QRectFcursorRectangle() const

通知器信号

voidcursorRectangleChanged()

[只读] inputDirection : const Qt::LayoutDirection

当前输入方向。

访问函数

Qt::LayoutDirectioninputDirection() const

通知器信号

voidinputDirectionChanged(Qt::LayoutDirection newDirection)

[只读] inputItemClipRectangle : const QRectF

输入项的剪裁矩形,以窗口坐标表示。

剪裁输入矩形通常被各种输入方法用于确定输入方法(如虚拟键盘)可用的屏幕空间。

访问函数

QRectFinputItemClipRectangle() const

通知器信号

voidinputItemClipRectangleChanged()

只读

keyboardRectangle : const QRectF

虚拟键盘在窗口坐标系中的几何形状。

如果没有确定键盘的几何形状,这个矩形可能是空的。例如,在Android上的浮动键盘就是这样。

访问函数

QRectFkeyboardRectangle() const

通知器信号

voidkeyboardRectangleChanged()

只读

locale : const QLocale

当前输入区域。

访问函数

QLocalelocale() const

通知器信号

voidlocaleChanged()

只读

visible : const bool

虚拟键盘在屏幕上的可见性

对于没有虚拟键盘的设备,输入方法的可视性保持为false。

访问函数

boolisVisible() const

通知器信号

voidvisibleChanged()

另请参阅 show() 和 hide()().

成员函数文档

<代码详情 extra>

void QInputMethod::commit()

将用户正在编写的单词提交给编辑器。该函数主要用于具有文本预测功能的输入方法和键位脚本不同于实际附加到编辑器的脚本的输入方法。任何中断文本编写的操作都需要通过调用commit()函数刷新编写状态,例如当光标被移动到其他地方时。

<代码详情 extra>

void QInputMethod::hide()

请求虚拟键盘关闭。

通常,应用程序不需要调用此函数,键盘应在文本编辑器失去焦点时自动关闭,例如父视图关闭时。

QRectF QInputMethod::inputItemRectangle() const

返回输入项在输入项坐标系中的几何形状。

另请参阅 setInputItemRectangle().

QTransform QInputMethod::inputItemTransform() const

返回从输入项坐标系到窗口坐标系的变换。

另请参阅 setInputItemTransform().

<代码详情 extra>

void QInputMethod::invokeAction(QInputMethod::Action a, int cursorPosition)

当用户按下的动作a和给定的游标位置cursorPosition时,输入项会被调用。输入方法通常使用此信息向用户提供更多单词建议。

<代码详情 extra>

QVariant QInputMethod::queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument)

将查询query发送到当前焦点对象,并带参数argument,然后返回结果。

<代码详情 extra>

void QInputMethod::reset()

重置输入方法状态。例如,文本编辑器通常在插入文本之前调用此方法,以使小部件准备好接受文本。

输入法会在焦点编辑器改变时自动重置。

void QInputMethod::setInputItemRectangle(const QRectF &rect)

将输入项的几何形状设置为rect,以输入项坐标为单位。每当项在场景中移动或焦点改变时,需要由焦点窗口(如 QQuickCanvas)更新此设置。

另请参阅inputItemRectangle().

void QInputMethod::setInputItemTransform(const QTransform &transform)

设置从输入项坐标到窗口坐标的变换为transform。每当项在场景内移动时,需要由焦点窗口(如 QQuickCanvas)更新项变换。

另请参阅inputItemTransform().

void QInputMethod::setVisible(bool visible)

控制键盘的可见性。等同于调用 show()(如果 visibletrue)或 hide()(如果 visiblefalse)。

另请参阅isVisibleshowhide

[slot] void QInputMethod::show()

请求打开虚拟键盘。如果平台不提供虚拟键盘,可见性将保持为 false。

通常,应用程序不需要调用此函数,当文本编辑器获得焦点时,键盘应自动打开。

[slot] void QInputMethod::update(Qt::InputMethodQueries queries)

由输入项调用,以告知平台输入法当编辑器的输入法查询属性状态发生变化。在调用此函数时,必须使用带有 queries 参数的函数来告知发生了哪些变化,输入法可以使用 QInputMethodQueryEvent 对感兴趣的属性进行查询。

特别地,当光标位置改变时调用 update 是很重要的,因为这通常会导致其他查询属性(如周围文本和文本选择)也会改变。常与光标位置一起改变的属性已经分组到 Qt::ImQueryInput 值中以便使用。

© 2024 Qt 公司有限公司。本文件包含的内容为各自所有者的版权。此处提供的文档受 GNU 自由文档许可协议版本 1.3 的许可,由自由软件基金会发布。Qt 及其相关标志是在芬兰和其他国家/地区的 Qt 公司有限公司的商标,所有其他商标均为其各自所有者的财产。