QAccessibleTextInterface Class

QAccessibleTextInterface 类实现了对文本处理的支持。更多

头文件: #include <QAccessibleTextInterface>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

公共函数

virtual ~QAccessibleTextInterface()
virtual void addSelection(int startOffset, int endOffset) = 0
virtual QString attributes(int offset, int *startOffset, int *endOffset) const = 0
virtual int characterCount() const = 0
virtual QRect characterRect(int offset) const = 0
virtual int cursorPosition() const = 0
virtual int offsetAtPoint(const QPoint &point) const = 0
virtual void removeSelection(int selectionIndex) = 0
virtual void scrollToSubstring(int startIndex, int endIndex) = 0
virtual void selection(int selectionIndex, int *startOffset, int *endOffset) const = 0
virtual int selectionCount() const = 0
virtual void setCursorPosition(int position) = 0
virtual void setSelection(int selectionIndex, int startOffset, int endOffset) = 0
virtual QString text(int startOffset, int endOffset) const = 0
virtual QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const
virtual QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const
virtual QString textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const

详细说明

该接口对应于 IAccessibleText 接口。应为显示比普通标签更多文本的 widget 实现该接口。标签应仅由QAccessibleInterface 表示,并以名称形式返回文本(QAccessibleInterface::text() ,类型为QAccessible::Name )。QAccessibleTextInterface 通常用于屏幕阅读器可能希望逐行阅读的文本,以及支持文本选择和输入的 widget。例如,QLineEdit

IAccessible2 规范

成员函数文档

[virtual noexcept] QAccessibleTextInterface::~QAccessibleTextInterface()

摧毁QAccessibleTextInterface.

[pure virtual] void QAccessibleTextInterface::addSelection(int startOffset, int endOffset)

选择从startOffsetendOffset 的文本。startOffset 是第一个被选中的字符。endOffset 是第一个不被选中的字符。

如果对象支持多选(例如在文字处理器中),则会添加一个新的选区,否则会替换之前的选区。

选区长度为endOffset -startOffset 个字符。

[pure virtual] QString QAccessibleTextInterface::attributes(int offset, int *startOffset, int *endOffset) const

返回offset 位置的文本属性。此外,属性范围将在startOffsetendOffset 中返回。

[pure virtual] int QAccessibleTextInterface::characterCount() const

返回文本的长度(包括空格在内的总大小)。

[pure virtual] QRect QAccessibleTextInterface::characterRect(int offset) const

以屏幕坐标为单位,返回位于offset 位置的字符的位置和大小。

[pure virtual] int QAccessibleTextInterface::cursorPosition() const

返回当前光标位置。

另请参阅 setCursorPosition().

[pure virtual] int QAccessibleTextInterface::offsetAtPoint(const QPoint &point) const

以屏幕坐标为单位,返回字符在point 处的偏移量。

[pure virtual] void QAccessibleTextInterface::removeSelection(int selectionIndex)

清除选中的索引selectionIndex

[pure virtual] void QAccessibleTextInterface::scrollToSubstring(int startIndex, int endIndex)

确保startIndexendIndex 之间的文本可见。

[pure virtual] void QAccessibleTextInterface::selection(int selectionIndex, int *startOffset, int *endOffset) const

返回一个选区。选区的大小在startOffsetendOffset 中返回。如果没有选区,startOffsetendOffset 都是nullptr

可访问性 API 支持多个选区。但对于大多数部件,只支持一个选区,selectionIndex 等于 0。

另请参阅 setSelection() 。

[pure virtual] int QAccessibleTextInterface::selectionCount() const

返回此文本中的选择项数量。

[pure virtual] void QAccessibleTextInterface::setCursorPosition(int position)

将光标移至position

另请参阅 cursorPosition() 。

[pure virtual] void QAccessibleTextInterface::setSelection(int selectionIndex, int startOffset, int endOffset)

selectionIndex 设置为从startOffsetendOffset 的范围。

另请参阅 selection()、addSelection() 和removeSelection()。

[pure virtual] QString QAccessibleTextInterface::text(int startOffset, int endOffset) const

返回从startOffsetendOffset 的文本。startOffset 是将返回的第一个字符。endOffset 是不会返回的第一个字符。

[virtual] QString QAccessibleTextInterface::textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const

返回boundaryType 类型中紧跟offset 偏移量之后的文本项,并将startOffsetendOffset 的值设置为该文本项的起始和终止位置;如果没有该文本项,则返回空字符串。如果出错,则将startOffsetendOffset 的值设置为-1。

这种默认实现方式适用于小型文本编辑。文字处理器或文本编辑器应提供自己的有效实现。此函数不区分段落和行。

注意: 该函数不考虑光标位置。按照惯例,offset 为 -2 表示该函数应使用光标位置作为偏移量。因此,在调用此函数之前,必须将偏移量 -2 转换为光标位置。如果偏移量为-1,则文本长度将被用作偏移量,此函数的自定义实现必须返回结果,就好像长度是作为偏移量传入的一样。

[virtual] QString QAccessibleTextInterface::textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const

返回offset 偏移量处boundaryType 类型的文本项,并将startOffsetendOffset 设置为该文本项的起始和结束位置;如果没有该文本项,则返回空字符串。如果出错,则会将startOffsetendOffset 的值设置为-1。

这种默认实现方式适用于小型文本编辑。文字处理器或文本编辑器应提供自己的有效实现。此函数不区分段落和行。

注意: 该函数不考虑光标位置。按照惯例,offset 为 -2 表示该函数应使用光标位置作为偏移量。因此,在调用此函数之前,必须将偏移量 -2 转换为光标位置。如果偏移量为-1,则文本长度将被用作偏移量,此函数的自定义实现必须返回结果,就好像长度是作为偏移量传入的一样。

[virtual] QString QAccessibleTextInterface::textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const

返回与offset 偏移量相近的boundaryType 类型的文本项,并将startOffsetendOffset 的值设置为该项的起始和终止位置;如果没有此类文本项,则返回空字符串。如果出错,则将startOffsetendOffset 的值设置为-1。

这种默认实现方式适用于小型文本编辑。文字处理器或文本编辑器应提供自己的有效实现。此函数不区分段落和行。

注意: 该函数不考虑光标位置。按照惯例,offset 为 -2 表示该函数应使用光标位置作为偏移量。因此,在调用此函数之前,必须将偏移量 -2 转换为光标位置。如果偏移量为-1,则文本长度将被用作偏移量,此函数的自定义实现必须返回结果,就好像长度是作为偏移量传入的一样。

© 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.