QAccessibleInterface 类

The QAccessibleInterface class defines an interface that exposes information about accessible objects. 更多...

头: #include <QAccessibleInterface>
继承: QAccessible
继承者: QAccessibleObject

公共函数

virtual ~QAccessibleInterface ()
virtual QString actionText (int action , Text t , int child ) const = 0
virtual int childAt (int x , int y ) const = 0
virtual int childCount () const = 0
virtual bool doAction (int action , int child , const QVariantList & params = QVariantList()) = 0
virtual int indexOfChild (const QAccessibleInterface * child ) const = 0
QVariant invokeMethod (Method method , int child = 0, const QVariantList & params = QVariantList())
virtual bool isValid () const = 0
virtual int navigate (RelationFlag relation , int entry , QAccessibleInterface ** target ) const = 0
virtual QObject * 对象 () const = 0
virtual QRect rect (int child ) const = 0
virtual Relation relationTo (int child , const QAccessibleInterface * other , int otherChild ) const = 0
virtual Role role (int child ) const = 0
virtual void setText (Text t , int child , const QString & text ) = 0
virtual State state (int child ) const = 0
QSet<Method> supportedMethods ()
virtual QString text (Text t , int child ) const = 0
virtual int userActionCount (int child ) const = 0

额外继承成员

详细描述

The QAccessibleInterface class defines an interface that exposes information about accessible objects.

可访问性工具 (也称 AT 客户端),譬如:屏幕阅读器或盲文显示,要求应用程序可访问对象的有关高级信息。可访问对象提供专用输入/输出方法,使用户在应用程序启用时 (AT 服务器),能够使用可访问性工具。

用户需要与之交互或作出反应的每个元素都是可访问对象,并应提供此信息。这些主要是视觉对象 (如:Widget 和 Widget 元素),但也可以是内容 (如:声音)。

AT 客户端使用 3 种基本概念,来获取有关应用程序中任何可访问对象的信息:

  • 特性 客户端可以读取可访问对象的有关信息。在某些情况下,客户端还可以修改这些属性 (譬如:在行编辑中的文本)。
  • 动作 The client can invoke actions like pressing a button or.
  • 关系和导航 客户端可以从一可访问对象遍历到另一可访问对象,使用对象之间的关系。

The QAccessibleInterface defines the API for these three concepts.

关系和导航

函数 childCount () 和 indexOfChild () 返回可访问对象的子级数,及子级对象在其父级中的索引。 childAt () function returns the index of a child at a given position.

The relationTo () function provides information about how two different objects relate to each other, and navigate () allows traversing from one object to another object with a given relationship.

特性

可访问对象的中心特性是什么 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.

Actions and Selection

To enable the user to interact with an accessible object the object must expose information about the actions that it can perform. userActionCount () returns the number of actions supported by an accessible object, and actionText () returns textual information about those actions. doAction () invokes an action.

Objects that support selections can define actions to change the selection.

Objects and children

A QAccessibleInterface provides information about the accessible object, and can also provide information for the children of that object if those children don't provide a QAccessibleInterface implementation themselves. This is practical if the object has many similar children (e.g. items in a list view), or if the children are an integral part of the object itself, for example, the different sections in a scroll bar.

If an accessible object provides information about its children through one QAccessibleInterface , the children are referenced using indexes. The index is 1-based for the children, i.e. 0 refers to the object itself, 1 to the first child, 2 to the second child, and so on.

All functions in QAccessibleInterface that take a child index relate to the object itself if the index is 0, or to the child specified. If a child provides its own interface implementation (which can be retrieved through navigation) asking the parent for information about that child will usually not succeed.

另请参阅 QAccessible .

成员函数文档编制

[虚拟] QAccessibleInterface:: ~QAccessibleInterface ()

销毁对象。

[pure virtual] QString QAccessibleInterface:: actionText ( int action , Text t , int child ) const

Returns the text property t of the action action supported by the object, or of the object's child if child is not 0.

另请参阅 text () 和 userActionCount ().

[pure virtual] int QAccessibleInterface:: childAt ( int x , int y ) const

Returns the 1-based index of the child that contains the screen coordinates ( x , y ). This function returns 0 if the point is positioned on the object itself. If the tested point is outside the boundaries of the object this function returns -1.

This function is only relyable for visible objects (invisible object might not be laid out correctly).

所有视觉对象提供此信息。

另请参阅 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 ().

[pure virtual] bool QAccessibleInterface:: doAction ( int action , int child , const QVariantList & params = QVariantList())

Asks the object, or the object's child if child is not 0, to execute action using the parameters, params . Returns true if the action could be executed; otherwise returns false.

action can be a predefined or a custom action.

另请参阅 userActionCount () 和 actionText ().

[pure virtual] int QAccessibleInterface:: indexOfChild (const QAccessibleInterface * child ) const

Returns the 1-based index of the object child in this object's children list, or -1 if child is not a child of this object. 0 is not a possible return value.

All objects provide this information about their children.

另请参阅 childCount ().

QVariant QAccessibleInterface:: invokeMethod ( Method method , int child = 0, const QVariantList & params = QVariantList())

Invokes a method on child with the given parameters params and returns the result of the operation as QVariant .

Note that the type of the returned QVariant depends on the action.

Returns an invalid QVariant if the object doesn't support the action.

该函数在 Qt 4.2 引入。

[pure virtual] bool QAccessibleInterface:: isValid () const

Returns true if all the data necessary to use this interface implementation is valid (e.g. all pointers are non-null); otherwise returns false.

另请参阅 对象 ().

Navigates from this object to an object that has a relationship relation to this object, and returns the respective object in target . It is the caller's responsibility to delete * target after use.

If an object is found, target is set to point to the object, and the index of the child of target is returned. The return value is 0 if target itself is the requested object. target is set to null if this object is the target object (i.e. the requested object is a handled by this object).

If no object is found target is set to null, and the return value is -1.

The entry parameter has two different meanings:

  • Hierarchical and Logical relationships -- if multiple objects with the requested relationship exist entry specifies which one to return. entry is 1-based, e.g. use 1 to get the first (and possibly only) object with the requested relationship.

    The following code demonstrates how to use this function to navigate to the first child of an object:

    QAccessibleInterface *child = 0;
    int targetChild = object->navigate(Accessible::Child, 1, &child);
    if (child) {
        // ...
        delete child;
    }
    						
  • Geometric relationships -- the index of the child from which to start navigating in the specified direction. entry can be 0 to navigate to a sibling of this object, or non-null to navigate within contained children that don't provide their own accessible information.

注意, Descendent value for relation 不支持。

All objects support navigation.

另请参阅 relationTo () 和 childCount ().

[pure virtual] QObject * QAccessibleInterface:: 对象 () const

返回指针指向 QObject 此接口实现用于提供信息。

另请参阅 isValid ().

[pure virtual] QRect QAccessibleInterface:: rect ( int child ) const

Returns the geometry of the object, or of the object's child if child is not 0. The geometry is in screen coordinates.

This function is only reliable for visible objects (invisible objects might not be laid out correctly).

所有视觉对象提供此信息。

另请参阅 childAt ().

[pure virtual] Relation QAccessibleInterface:: relationTo ( int child , const QAccessibleInterface * other , int otherChild ) const

Returns the relationship between this object's child other 对象的 otherChild 。若 child is 0 the object's own relation is returned.

The returned value indicates the relation of the called object to the other object, e.g. if this object is a child of other the return value will be Child .

The return value is a combination of the bit flags in the QAccessible::Relation 枚举。

所有对象提供此信息。

另请参阅 indexOfChild () 和 navigate ().

[pure virtual] Role QAccessibleInterface:: role ( int child ) const

Returns the role of the object, or of the object's child if child is not 0. The role of an object is usually static.

所有可访问对象拥有角色。

另请参阅 text () 和 state ().

[pure virtual] void QAccessibleInterface:: setText ( Text t , int child , const QString & text )

设置文本特性 t of the object, or of the object's child if child is not 0, to text .

Note that the text properties of most objects are read-only.

另请参阅 text ().

[pure virtual] State QAccessibleInterface:: state ( int child ) const

Returns the current state of the object, or of the object's child if child is not 0. The returned value is a combination of the flags in the QAccessible::StateFlag 枚举。

所有可访问对象拥有状态。

另请参阅 text () 和 role ().

QSet < Method > QAccessibleInterface:: supportedMethods ()

返回 QSet of Method s that are supported by this accessible interface.

该函数在 Qt 4.3 引入。

另请参阅 QAccessible::Method and invokeMethod ().

[pure virtual] QString QAccessibleInterface:: text ( Text t , int child ) const

Returns the value of the text property t of the object, or of the object's child if child is not 0.

The 名称 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 描述 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 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 帮助 text provides information about the function and usage of an accessible object. Not all objects provide this information.

The 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 名称 .

另请参阅 setText (), role (),和 state ().

[pure virtual] int QAccessibleInterface:: userActionCount ( int child ) const

Returns the number of custom actions of the object, or of the object's child if child is not 0.

The 动作 type enumerates predefined actions: these are not included in the returned value.

另请参阅 actionText () 和 doAction ().