class QAccessibleInterface#

QAccessibleInterface 类定义了一个接口,该接口公开了可访问对象的信息。更多

继承于: QAccessibleObject, QAccessibleWidget

概要#

方法#

虚函数#

注意

本文档可能包含从 C++ 到 Python 的自动翻译片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告诉我们

详细描述#

此类是 QWidget 应用程序的辅助功能的一部分。

辅助功能工具(也称为 AT 客户端),如屏幕阅读器或盲文显示器,需要获取应用程序中辅助对象的高级信息。辅助对象提供专门的输入和输出方法,使用户能够使用辅助应用程序(AT 服务器)启用应用程序。

用户需要与之交互或反应的每个元素都是一个辅助对象,并应提供此信息。这些主要是视觉对象,如小部件和小部件元素,但也可能是内容,如声音。

AT 客户端使用三个基本概念来获取应用程序中任何辅助对象的任何信息

  • 属性 客户端可以读取有关辅助对象的信息。在某些情况下,客户端还可以修改这些属性;例如,文本编辑中的文本。

  • 动作 客户端可以调用诸如按按钮之类的动作。

  • 关系与导航 客户端可以通过使用对象之间的关系从一个可访问对象导航到另一个对象。

QAccessibleInterface 定义这三个概念的相关API。

关系与导航#

函数 childCount()indexOfChild() 返回可访问对象的子对象数量及其子对象在父对象中的索引。函数 childAt() 返回一个位于位置的子 QAccessibleInterface。该子对象不必是直接子对象。这允许当父对象已知道最顶层的子对象时,绕过中间层。函数 childAt() 用于点击测试(查找鼠标下的对象)。

函数 relations() 提供了一个对象与其他对象关系的有关信息,而函数 parent()child() 则允许从一个对象导航到另一个对象。

属性#

可访问对象的中心属性是它的角色,由函数 role() 定义。不同的对象可以具有相同的角色,例如,滚动条中的“添加行”元素和对话框中的 OK 按钮具有相同的角色“按钮”。角色指示用户可以与用户界面元素执行交互的类型。

对象的 state() 属性是不同状态标记的组合,可以描述对象的状态与“正常”状态的差异,例如它可能不可用,以及它的行为,例如它可能可选。

text() 属性提供了关于对象文本信息。一个对象通常具有名称,但可以提供扩展信息,例如描述、帮助文本或有关它提供的任何键盘快捷键的信息。某些对象允许通过 setText() 函数更改 text() 属性,但在此情况下,此信息通常是只读的。

rect() 属性提供了可访问对象几何形状的信息。通常情况下,此信息仅适用于视觉对象。

接口

为了使用户能够与可访问对象交互,对象必须实现 QAccessibleActionInterface 以及 QAccessibleInterface 。支持选择的对象可以定义更改选择的行为。

根据需要,应实现几个其他接口。对于较大的文本编辑,例如文档视图,应使用 QAccessibleTextInterface。不应为标签/单行编辑实现该接口。

对于滑块、滚动条和其他数值选择器,应实现 QAccessibleValueInterface

列表、表格和树应实现 QAccessibleTableInterface

另请参阅

QAccessible QAccessibleActionInterface QAccessibleTextInterface QAccessibleValueInterface QAccessibleTableInterface

actionInterface()
返回类型:

QAccessibleActionInterface

backgroundColor()
返回类型:

QColor

返回可访问对象的背景颜色(如有适用)或一个无效的 QColor

另请参阅

foregroundcolor()

抽象 child(index)#
参数:

index – int

返回类型:

QAccessibleInterface

返回索引为 index 的可访问子项。基于0的索引。可以通过 childCount 检查对象的子项数量。

当请求无效子项时返回 None(例如,在请求期间子项变得无效时)。

另请参阅

childCount() parent()

抽象 childAt(x, y)#
参数:
  • x – int

  • y – int

返回类型:

QAccessibleInterface

返回包含屏幕坐标(《x》、《y》)的子项的 QAccessibleInterface。如果在此位置没有子项,此函数将返回 None。返回的可访问对象必须是子项,但不一定是直接子项。

此函数仅对可见对象(不可见对象可能无法正确布局)可靠。

所有可视对象都提供此信息。

为继承自 QAccessibleObject 的对象提供了默认实现。这将遍历所有子项。如果小部件管理其子项(例如,表格),则编写专门的实现会更有效。

另请参阅

rect()

抽象 childCount()#
返回类型:

int

返回属于此对象的所有子项的数量。子项可以提供自己的可访问信息(例如,子小部件),或者作为此可访问对象的子元素。

所有对象都提供此信息。

另请参阅

indexOfChild()

editableTextInterface()#
返回类型:

QAccessibleEditableTextInterface

focusChild()#
返回类型:

QAccessibleInterface

返回具有键盘焦点的小控件。

返回的对象可以是任何后裔,包括自身。

foregroundColor()#
返回类型:

QColor

获取对应对象的可见前景色,如果适用,否则返回一个无效的 QColor

另请参阅

backgroundColor()

抽象indexOfChild(arg__1)#
参数:

arg__1QAccessibleInterface

返回类型:

int

返回对象在当前对象子列表中的基于0的索引,如果 child 不是当前对象的子对象,则返回 -1。

所有对象都提供有关其子对象的信息。

另请参阅

childCount()

interface_cast(arg__1)#
参数:

arg__1InterfaceType

返回类型:

void

从通用的 QAccessibleInterface 返回一个专门的无障碍接口 类型

当通过专门接口提供关于小部件或对象更多信息时,必须重新实现此函数。例如,行编辑应该实现 QAccessibleTextInterface

抽象isValid()#
返回类型:

bool

如果使用此接口实现所需的全部数据都是有效的(例如,所有指针都不是空指针),则返回 true;否则返回 false

另请参阅

object()

抽象object()#
返回类型:

QObject

返回对该接口实现提供信息的 QObject 的指针。

另请参阅

isValid()

abstract 抽象()#
返回类型:

QAccessibleInterface

返回可访问对象层次结构中父对象的 QAccessibleInterface

如果不存在父对象(例如顶层应用程序对象),则返回 None

另请参阅

child()

abstract rect()#
返回类型:

QRect

返回对象的几何形状。几何形状以屏幕坐标表示。

此函数仅适用于可见对象(不可见对象可能无法正确布局)。

所有可视对象都提供此信息。

另请参阅

childAt()

relations([match=QAccessible.AllRelations])#
参数:

matchRelationFlag 的组合

返回类型:

返回 QAccessibleInterface 和 QFlagsQAccessible.RelationFlag 的 std.pair 列表

返回与其他小部件的关联关系。通常这不会返回父子关系,除非它们以特定方式处理,例如在树视图中。它通常会返回标识标签和相关标签关系。

可以通过使用可选参数 match 过滤关系。它从不返回自身。

另请参阅

parent() child()

abstract role()#
返回类型:

角色

返回对象的角色。对象的角色通常是静态的。

所有可访问对象都具有角色。

另请参阅

text() state()

abstract setText(t, text)#
参数:
  • tText

  • text – 字符串

将对象的文本属性 t 设置为 text

请注意,大多数对象的文本属性是只读的,因此调用此函数可能没有效果。

另请参阅

text()

抽象 状态()#
返回类型:

State

返回对象当前的状态。返回值是QAccessible::StateFlag枚举中标志的组合。

所有可访问的对象都有一个状态。

另请参阅

text() role()

tableCellInterface()#
返回类型:

QAccessibleTableCellInterface

抽象 文本(t)#
参数:

tText

返回类型:

str

返回对象文本属性t的值。

Name 是由客户端用来自由控制、寻找或向用户声明可访问对象的名字。所有对象都必须有在它们所包含的容器中唯一的名字。名字可以被客户端以不同方式使用,因此名字应该既能短暂地描述对象,也要独特。

可访问对象的 Description 提供了有关对象视觉外观的文本信息。描述主要用于为视力受损用户提供更多上下文,但也可用于上下文搜索或其他应用程序。并非所有对象都有描述。例如,“确定”按钮就不需要描述,但显示笑脸图片的工具按钮就可以。

可访问对象《a class="reference internal" href="QAccessible.html#PySide6.QtGui.QAccessible.Text" title="PySide6.QtGui.QAccessible.Text">Value`代表对象包含的视觉信息,例如单行编辑器中的文本。通常,用户可以修改值。并非所有对象都有值,例如静态文本标签就不具有值,而一些对象的状态本身就是值,例如开关按钮。

Help 文本提供了关于可访问对象功能和使用的相关信息。并非所有对象都提供此类信息。

Accelerator 是激活对象默认操作的键盘快捷键。键盘快捷键是菜单、菜单项或小部件文本中的下划线字符,可以是字符本身,也可以是该字符和修饰键(如Alt、Ctrl或Shift)的组合。命令控件(如工具按钮)也有快捷键,通常在它们的工具提示中指出它们。

所有对象都提供了一个用于 Name 的字符串。

另请参阅

setText() role() state()

textInterface()#
返回类型:

QAccessibleTextInterface

valueInterface()#
返回类型:

QAccessibleValueInterface

virtual_hook(id, data)#
参数:
  • id – int

  • datavoid

window()#
返回类型:

QWindow

返回与底层对象关联的窗口。例如,QAccessibleWidget重写了此方法,并返回QWidget的windowHandle()。

在某些平台上,用它来通知AT客户端关于状态的变化。后端会遍历所有祖先,直到找到一个窗口。(这意味着祖先中至少有一个接口应返回一个有效的QWindow指针)。

默认实现返回None