QAccessibleTextInterface Class
QAccessibleTextInterface 类实现了对文本处理的支持。更多内容...
| 头文件: | #include <QAccessibleTextInterface> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
- 所有成员的列表,包括继承的成员
- QAccessibleTextInterface 属于辅助功能类。
公共函数
| QAccessibleTextInterface() | |
| 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 接口。对于显示文本量超过普通标签的控件,应实现此接口。标签应仅由QAccessibleInterface 表示,并通过 name(QAccessibleInterface::text(),其中 type 为QAccessible::Name )返回其文本。 QAccessibleTextInterface 通常适用于屏幕阅读器可能需要逐行朗读的文本,以及支持文本选择和输入的控件。例如,QLineEdit 便实现了该接口。
成员函数文档
[constexpr noexcept default] QAccessibleTextInterface::QAccessibleTextInterface()
默认——构造一个QAccessibleTextInterface 的实例。
[virtual noexcept] QAccessibleTextInterface::~QAccessibleTextInterface()
[pure virtual] void QAccessibleTextInterface::addSelection(int startOffset, int endOffset)
选择从startOffset 到endOffset 的文本。startOffset 是将被选中的第一个字符。endOffset 是不会被选中的第一个字符。
当对象支持多重选择时(例如在文字处理软件中),这将添加一个新的选择范围;否则,它将替换先前的选择范围。
所选范围的长度为endOffset -startOffset 个字符。
[pure virtual] QString QAccessibleTextInterface::attributes(int offset, int *startOffset, int *endOffset) const
返回位于位置offset 处的文本属性。此外,还会返回属性范围,分别存储在startOffset 和endOffset 中。
[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)
确保startIndex 和endIndex 之间的文本可见。
[pure virtual] void QAccessibleTextInterface::selection(int selectionIndex, int *startOffset, int *endOffset) const
返回一个选区。选区的大小通过startOffset 和endOffset 返回。如果没有选区,则startOffset 和endOffset 均为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 设置为从startOffset 到endOffset 的范围。
另请参阅 selection()、addSelection() 和removeSelection()。
[pure virtual] QString QAccessibleTextInterface::text(int startOffset, int endOffset) const
返回从startOffset 到endOffset 之间的文本。startOffset 是将被返回的第一个字符。endOffset 是不会被返回的第一个字符。
[virtual] QString QAccessibleTextInterface::textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const
返回位于偏移量offset 之后的、类型为boundaryType 的文本项,并将startOffset 和endOffset 的值分别设置为该项的起始位置和结束位置;如果不存在此类文本项,则返回空字符串。发生错误时,将startOffset 和endOffset 的值设置为-1。
此默认实现适用于小型文本编辑。文字处理软件或文本编辑器应提供自己的高效实现。该函数不区分段落和行。
注意:此 函数无法考虑光标位置。按惯例,offset 为-2时,表示此函数应使用光标位置作为偏移量。因此,在调用此函数之前,必须将偏移量-2转换为光标位置。 偏移量 -1 用于表示文本长度,该函数的自定义实现必须将结果返回为:仿佛该长度被作为偏移量传入一般。
[virtual] QString QAccessibleTextInterface::textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const
返回偏移量为offset 处的boundaryType 类型的文本项,并将startOffset 和endOffset 的值分别设置为该文本项的起始位置和结束位置;如果不存在该文本项,则返回空字符串。发生错误时,将startOffset 和endOffset 的值设置为-1。
此默认实现适用于小型文本编辑。文字处理软件或文本编辑器应提供自己的高效实现。此函数不区分段落和行。
注意:此 函数无法考虑光标位置。按惯例,offset 为-2时,表示此函数应使用光标位置作为偏移量。因此,在调用此函数之前,必须将偏移量-2转换为光标位置。 偏移量 -1 用于表示文本长度,该函数的自定义实现必须将结果返回为:仿佛该长度被作为偏移量传入一般。
[virtual] QString QAccessibleTextInterface::textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const
返回位于偏移量offset 附近的类型为boundaryType 的文本项,并将startOffset 和endOffset 的值分别设置为该文本项的起始位置和结束位置;如果不存在此类文本项,则返回空字符串。发生错误时,将startOffset 和endOffset 的值设置为 -1。
此默认实现适用于小型文本编辑。文字处理软件或文本编辑器应提供自己的高效实现。该函数不区分段落和行。
注意:此 函数无法考虑光标位置。按惯例,offset 为-2表示该函数应将光标位置作为偏移量。因此,在调用此函数之前,必须将偏移量-2转换为光标位置。 偏移量 -1 用于表示文本长度,该函数的自定义实现必须将结果返回为:假设长度被作为偏移量传入时的结果。
© 2026 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.