PySide6.QtGui.QAccessibleInterface¶
- class QAccessibleInterface¶
QAccessibleInterface类定义了一个接口,用于公开有关可访问对象的信息。更多…继承自:
QAccessibleObject,QAccessibleWidget概要¶
方法¶
def
textInterface()def
valueInterface()
虚拟方法¶
def
child()def
childAt()def
childCount()def
focusChild()def
indexOfChild()def
interface_cast()def
isValid()def
object()def
parent()def
rect()def
relations()def
role()def
setText()def
state()def
text()def
virtual_hook()def
window()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
该类是QWidget应用程序的无障碍功能的一部分。
辅助功能工具(也称为AT客户端),如屏幕阅读器或盲文显示器,需要关于应用程序中可访问对象的高级信息。可访问对象提供专门的输入和输出方法,使用户能够使用启用了辅助功能工具的应用程序(AT服务器)。
用户需要与之交互或响应的每个元素都是一个可访问的对象,并且应该提供这些信息。这些主要是视觉对象,如小部件和小部件元素,但也可以是内容,如声音。
AT客户端使用三个基本概念来获取应用程序中任何可访问对象的信息:
属性 客户端可以读取有关可访问对象的信息。在某些情况下,客户端还可以修改这些属性;例如行编辑中的文本。
操作 客户端可以调用操作,比如按下按钮或。
关系和导航 客户端可以利用对象之间的关系,从一个可访问的对象导航到另一个对象。
QAccessibleInterface定义了这三个概念的API。属性¶
可访问对象的核心属性是它拥有什么
role()。不同的对象可以拥有相同的角色,例如滚动条中的“添加行”元素和对话框中的OK按钮具有相同的角色,“按钮”。角色暗示了用户可以与用户界面元素进行何种交互。一个对象的
state()属性是不同状态标志的组合,可以描述对象状态与“正常”状态的不同之处,例如它可能不可用,以及它的行为方式,例如它可能是可选择的。text()属性提供了关于对象的文本信息。一个对象通常有一个名称,但可以提供扩展信息,如描述、帮助文本或关于它提供的任何键盘快捷键的信息。一些对象允许通过setText()函数更改text()属性,但这些信息在大多数情况下是只读的。rect()属性提供了关于可访问对象的几何信息。这些信息通常仅对视觉对象可用。接口¶
为了让用户能够与可访问对象进行交互,对象除了实现
QAccessibleInterface外,还必须实现QAccessibleActionInterface。支持选择的对象可以定义操作来更改选择。还有其他几个接口应根据需要实现。
QAccessibleTextInterface应该用于较大的文本编辑,如文档视图。此接口不应为标签/单行编辑实现。对于滑块、滚动条和其他数值选择器,应实现
QAccessibleValueInterface。列表、表格和树应该实现
QAccessibleTableInterface。另请参阅
QAccessibleQAccessibleActionInterfaceQAccessibleTextInterfaceQAccessibleValueInterfaceQAccessibleTableInterface- actionInterface()¶
- Return type:
- attributesInterface()¶
- Return type:
如果适用,返回可访问的背景颜色,否则返回无效的
QColor。另请参阅
- abstract child(index)¶
- Parameters:
索引 – int
- Return type:
返回索引为
index的可访问子项。索引从0开始。可以使用childCount检查对象的子项数量。当请求一个无效的子项时(例如,当子项在此期间变为无效时),返回
None。另请参阅
- abstract childAt(x, y)¶
- Parameters:
x – 整数
y – 整数
- Return type:
返回包含屏幕坐标(
x,y)的子级的QAccessibleInterface。如果该位置没有子级,此函数返回None。返回的可访问对象必须是一个子级,但不一定是直接子级。此函数仅对可见对象可靠(不可见对象可能无法正确布局)。
所有视觉对象都提供此信息。
为继承
QAccessibleObject的对象提供了默认实现。这将遍历所有子对象。如果小部件管理其子对象(例如表格),编写专门的实现将更高效。另请参阅
- abstract childCount()¶
- Return type:
整数
返回属于此对象的子元素数量。子元素可以自行提供辅助功能信息(例如子部件),或者作为此可访问对象的子元素。
所有对象都提供此信息。
另请参阅
- editableTextInterface()¶
- Return type:
- focusChild()¶
- Return type:
返回具有键盘焦点的对象。
返回的对象可以是任何后代,包括它自己。
如果适用,返回可访问对象的前景色或无效的
QColor。另请参阅
- abstract indexOfChild(child)¶
- Parameters:
子元素 –
QAccessibleInterface- Return type:
整数
返回对象
child在此对象的子列表中的基于0的索引,如果child不是此对象的子对象,则返回-1。所有对象都提供关于其子对象的此信息。
另请参阅
- interface_cast(type)¶
- Parameters:
类型 –
InterfaceType- Return type:
void
从通用的
QAccessibleInterface返回一个专门的无障碍接口type。当通过专门的接口提供有关小部件或对象的更多信息时,必须重新实现此函数。例如,行编辑应实现
QAccessibleTextInterface。另请参阅
InterfaceTypeQAccessibleTextInterfaceQAccessibleValueInterfaceQAccessibleActionInterfaceQAccessibleTableInterfaceQAccessibleTableCellInterface- abstract isValid()¶
- Return type:
布尔
如果使用此接口实现所需的所有数据都有效(例如,所有指针都不为空),则返回
true;否则返回false。另请参阅
返回指向此接口实现提供信息的QObject的指针。
另请参阅
- abstract parent()¶
- Return type:
返回可访问对象层次结构中父级的
QAccessibleInterface。如果没有父级存在(例如,对于顶级应用程序对象),则返回
None。另请参阅
返回对象的几何形状。几何形状以屏幕坐标表示。
此函数仅对可见对象可靠(不可见对象可能无法正确布局)。
所有视觉对象都提供此信息。
另请参阅
- relations([match=QAccessible.AllRelations])¶
- Parameters:
match –
RelationFlag的组合- Return type:
.std.pairQAccessibleInterface,QFlagsQAccessible.RelationFlag的列表
返回与其他小部件的有意义的关系。通常这不会返回父/子关系,除非它们以特定方式处理,例如在树视图中。它通常会返回标记为和被标记的关系。
可以通过使用可选参数
match来过滤关系。它永远不应该返回自身。返回对象的角色。对象的角色通常是静态的。
所有可访问的对象都有一个角色。
- selectionInterface()¶
- Return type:
将对象的文本属性
t设置为text。请注意,大多数对象的文本属性是只读的,因此调用此函数可能没有效果。
另请参阅
返回对象的当前状态。返回的值是QAccessible::StateFlag枚举中标志的组合。
所有可访问的对象都有一个状态。
- tableCellInterface()¶
- Return type:
返回对象的文本属性
t的值。Name是客户端用来识别、查找或向用户宣布可访问对象的字符串。所有对象必须在其容器内具有唯一的名称。名称可以被客户端以不同的方式使用,因此名称应既提供对象的简短描述,又具有唯一性。一个可访问对象的
Description提供了关于对象视觉外观的文本信息。描述主要用于为视力受损的用户提供更多的上下文,但也用于上下文搜索或其他应用。并非所有对象都有描述。一个“OK”按钮不需要描述,但一个显示笑脸图片的工具按钮则需要。可访问对象的
Value表示对象包含的视觉信息,例如行编辑中的文本。通常,用户可以修改该值。并非所有对象都有值,例如静态文本标签没有,而一些对象的状态已经是值,例如切换按钮。Help文本提供了关于可访问对象的功能和用法的信息。并非所有对象都提供此信息。Accelerator是一个键盘快捷键,用于激活对象的默认操作。键盘快捷键是菜单、菜单项或小部件文本中的带下划线的字符,可以是字符本身,也可以是该字符与修饰键(如 Alt、Ctrl 或 Shift)的组合。像工具按钮这样的命令控件也有快捷键,通常会在工具提示中显示它们。Identifier可以显式设置为辅助技术提供一个ID。这对于UI测试尤其有用。如果没有显式设置标识符,标识符将由相应的接口根据QObject::objectName或其类名以及其父链中的QObject::objectName或类名设置为ID。所有对象都为
Name提供了一个字符串。- textInterface()¶
- Return type:
- valueInterface()¶
- Return type:
- virtual_hook(id, data)¶
- Parameters:
id – int
data –
void
返回与基础对象关联的窗口。例如,QAccessibleWidget 重新实现了此功能,并返回 QWidget 的 windowHandle()。
在某些平台上,它用于能够通知AT客户端有关状态变化。后端将遍历所有祖先,直到找到一个窗口。(这意味着在祖先中至少有一个接口应返回一个有效的
QWindow指针)。默认实现返回
None。