QAccessibleInterface 类定义暴露有关可访问对象的信息的接口。 更多...
头: | #include <QAccessibleInterface> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
继承者: |
QAccessibleActionInterface * | actionInterface () |
virtual QColor | backgroundColor () const |
virtual QAccessibleInterface * | child (int index ) const = 0 |
virtual QAccessibleInterface * | childAt (int x , int y ) const = 0 |
virtual int | childCount () const = 0 |
virtual QAccessibleInterface * | focusChild () const |
virtual QColor | foregroundColor () const |
virtual int | indexOfChild (const QAccessibleInterface * child ) const = 0 |
virtual void * | interface_cast (QAccessible::InterfaceType type ) |
virtual bool | isValid () const = 0 |
virtual QObject * | 对象 () const = 0 |
virtual QAccessibleInterface * | parent () const = 0 |
virtual QRect | rect () const = 0 |
virtual QList<QPair<QAccessibleInterface *, QAccessible::Relation>> | relations (QAccessible::Relation match = QAccessible::AllRelations) const |
virtual QAccessible::Role | role () const = 0 |
(从 6.5 起)
QAccessibleSelectionInterface *
|
selectionInterface () |
virtual void | setText (QAccessible::Text t , const QString & text ) = 0 |
virtual QAccessible::State | state () const = 0 |
QAccessibleTableCellInterface * | tableCellInterface () |
QAccessibleTableInterface * | tableInterface () |
virtual QString | text (QAccessible::Text t ) const = 0 |
QAccessibleTextInterface * | textInterface () |
QAccessibleValueInterface * | valueInterface () |
virtual QWindow * | window () const |
virtual | ~QAccessibleInterface () |
此类属于 QWidget 应用程序的可访问性 .
可访问性工具 (也称 AT 客户端),譬如:屏幕阅读器或盲文显示,要求应用程序可访问对象的有关高级信息。可访问对象提供专用输入/输出方法,使用户在应用程序启用时 (AT 服务器),能够使用可访问性工具。
用户需要与之交互或作出反应的每个元素都是可访问对象,并应提供此信息。这些主要是视觉对象 (如:Widget 和 Widget 元素),但也可以是内容 (如:声音)。
AT 客户端使用 3 种基本概念,来获取有关应用程序中任何可访问对象的信息:
QAccessibleInterface 定义用于这 3 种概念的 API。
函数 childCount () 和 indexOfChild () 返回可访问对象的子级数,及子级对象在其父级中的索引。 childAt () 函数返回在位置中找到的子级 QAccessibleInterface。子级不必是直接子级。这允许绕过中间层,当父级已经知道最高子级时。 childAt () 用于命中测试 (查找在鼠标下的对象)。
The relations () 函数提供对象与其它对象之间关系的有关信息,而 parent () 和 child () 允许从一个对象到另一个对象的遍历。
可访问对象的中心特性是什么
role
() it has. Different objects can have the same role, e.g. both the "Add line" element in a scroll bar and the
OK
button in a dialog have the same role, "button". The role implies what kind of interaction the user can perform with the user interface element.
对象的 state () property is a combination of different state flags and can describe both how the object's state differs from a "normal" state, e.g. it might be unavailable, and also how it behaves, e.g. it might be selectable.
The text () property provides textual information about the object. An object usually has a name, but can provide extended information such as a description, help text, or information about any keyboard accelerators it provides. Some objects allow changing the text () property through the setText () function, but this information is in most cases read-only.
The rect () property provides information about the geometry of an accessible object. This information is usually only available for visual objects.
To enable the user to interact with an accessible object the object must implement QAccessibleActionInterface in addition to QAccessibleInterface. Objects that support selections can define actions to change the selection.
There are several other interfaces that should be implemented as required. QAccessibleTextInterface should be used for bigger texts edits such as document views. This interface should not be implemented for labels/single line edits.
For sliders, scrollbars and other numerical value selectors QAccessibleValueInterface should be implemented.
Lists, tables and trees should implement QAccessibleTableInterface .
另请参阅 QAccessible , QAccessibleActionInterface , QAccessibleTextInterface , QAccessibleValueInterface ,和 QAccessibleTableInterface .
[virtual noexcept protected]
QAccessibleInterface::
~QAccessibleInterface
()
销毁 QAccessibleInterface .
[虚拟]
QColor
QAccessibleInterface::
backgroundColor
() const
返回可访问背景色若适用,或无效 QColor .
另请参阅 foregroundColor ().
[pure virtual]
QAccessibleInterface
*QAccessibleInterface::
child
(
int
index
) const
返回可访问子级,采用索引 index . 0-based index. The number of children of an object can be checked with childCount .
返回
nullptr
when asking for an invalid child (e.g. when the child became invalid in the meantime).
另请参阅 childCount () 和 parent ().
[pure virtual]
QAccessibleInterface
*QAccessibleInterface::
childAt
(
int
x
,
int
y
) const
返回
QAccessibleInterface
of a child that contains the screen coordinates (
x
,
y
). If there are no children at this position this function returns
nullptr
. The returned accessible must be a child, but not necessarily a direct child.
This function is only reliable for visible objects (invisible object might not be laid out correctly).
所有视觉对象提供此信息。
A default implementation is provided for objects inheriting QAccessibleObject . This will iterate over all children. If the widget manages its children (e.g. a table) it will be more efficient to write a specialized implementation.
另请参阅 rect ().
[pure virtual]
int
QAccessibleInterface::
childCount
() const
Returns the number of children that belong to this object. A child can provide accessibility information on its own (e.g. a child widget), or be a sub-element of this accessible object.
所有对象提供此信息。
另请参阅 indexOfChild ().
[虚拟]
QAccessibleInterface
*QAccessibleInterface::
focusChild
() const
返回拥有键盘聚焦的对象。
返回对象可以是任何后代,包括自身。
[虚拟]
QColor
QAccessibleInterface::
foregroundColor
() const
Returns the accessible's foreground color if applicable or an invalid QColor .
另请参阅 backgroundColor ().
[pure virtual]
int
QAccessibleInterface::
indexOfChild
(const
QAccessibleInterface
*
child
) const
Returns the 0-based index of the object child in this object's children list, or -1 if child is not a child of this object.
All objects provide this information about their children.
另请参阅 childCount ().
[虚拟]
void
*QAccessibleInterface::
interface_cast
(
QAccessible::InterfaceType
type
)
Returns a specialized accessibility interface type from the generic QAccessibleInterface .
This function must be reimplemented when providing more information about a widget or object through the specialized interfaces. For example a line edit should implement the QAccessibleTextInterface .
另请参阅 QAccessible::InterfaceType , QAccessibleTextInterface , QAccessibleValueInterface , QAccessibleActionInterface , QAccessibleTableInterface ,和 QAccessibleTableCellInterface .
[pure virtual]
bool
QAccessibleInterface::
isValid
() const
返回
true
if all the data necessary to use this interface implementation is valid (e.g. all pointers are non-null); otherwise returns
false
.
另请参阅 对象 ().
[pure virtual]
QObject
*QAccessibleInterface::
对象
() const
返回指针指向 QObject 此接口实现用于提供信息。
另请参阅 isValid ().
[pure virtual]
QAccessibleInterface
*QAccessibleInterface::
parent
() const
返回 QAccessibleInterface 在可访问对象层次结构中的父级。
返回
nullptr
如果不存在父级 (如:对于顶层应用程序对象而言)。
另请参阅 child ().
[pure virtual]
QRect
QAccessibleInterface::
rect
() const
Returns the geometry of the object. The geometry is in screen coordinates.
This function is only reliable for visible objects (invisible objects might not be laid out correctly).
所有视觉对象提供此信息。
另请参阅 childAt ().
[虚拟]
QList
<
QPair
<
QAccessibleInterface
*,
QAccessible::Relation
>> QAccessibleInterface::
relations
(
QAccessible::Relation
match
= QAccessible::AllRelations) const
Returns the meaningful relations to other widgets. Usually this will not return parent/child relations, unless they are handled in a specific way such as in tree views. It will typically return the labelled-by and label relations.
It is possible to filter the relations by using the optional parameter match . It should never return itself.
[pure virtual]
QAccessible::Role
QAccessibleInterface::
role
() const
Returns the role of the object. The role of an object is usually static.
所有可访问对象拥有角色。
[since 6.5]
QAccessibleSelectionInterface
*QAccessibleInterface::
selectionInterface
()
该函数在 Qt 6.5 引入。
[pure virtual]
void
QAccessibleInterface::
setText
(
QAccessible::Text
t
, const
QString
&
text
)
设置文本特性 t 的对象到 text .
Note that the text properties of most objects are read-only so calling this function might have no effect.
另请参阅 text ().
[pure virtual]
QAccessible::State
QAccessibleInterface::
state
() const
返回对象的当前状态。返回值是 QAccessible::StateFlag 枚举中标志的组合。
所有可访问对象拥有状态。
[pure virtual]
QString
QAccessibleInterface::
text
(
QAccessible::Text
t
) const
Returns the value of the text property t of the object.
The QAccessible::Name is a string used by clients to identify, find, or announce an accessible object for the user. All objects must have a name that is unique within their container. The name can be used differently by clients, so the name should both give a short description of the object and be unique.
An accessible object's QAccessible::Description provides textual information about an object's visual appearance. The description is primarily used to provide greater context for vision-impaired users, but is also used for context searching or other applications. Not all objects have a description. An "OK" button would not need a description, but a tool button that shows a picture of a smiley would.
The QAccessible::Value of an accessible object represents visual information contained by the object, e.g. the text in a line edit. Usually, the value can be modified by the user. Not all objects have a value, e.g. static text labels don't, and some objects have a state that already is the value, e.g. toggle buttons.
The QAccessible::Help text provides information about the function and usage of an accessible object. Not all objects provide this information.
The QAccessible::Accelerator is a keyboard shortcut that activates the object's default action. A keyboard shortcut is the underlined character in the text of a menu, menu item or widget, and is either the character itself, or a combination of this character and a modifier key like Alt, Ctrl or Shift. Command controls like tool buttons also have shortcut keys and usually display them in their tooltip.
All objects provide a string for QAccessible::Name .
另请参阅 setText (), role (),和 state ().
[虚拟]
QWindow
*QAccessibleInterface::
window
() const
返回窗口关联的底层对象。例如, QAccessibleWidget 重实现这并返回 windowHandle() 为 QWidget .
It is used on some platforms to be able to notify the AT client about state changes. The backend will traverse up all ancestors until it finds a window. (This means that at least one interface among the ancestors should return a valid QWindow 指针)。
默认实现返回
nullptr
.