Spec-Zone.ru › Qt 5.13

Класс QAccessibleInterface

Класс QAccessibleInterface определяет интерфейс, который раскрывает информацию об объектах доступности. Подробнее...

Заголовок: #include <QAccessibleInterface>
qmake: QT += gui
Наследуется от:

QAccessibleObject

  • Список всех членов, включая унаследованные члены

Открытые функции

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 * object() const = 0
virtual QAccessibleInterface * parent() const = 0
virtual QRect rect() const = 0
virtual QVector<QPair<QAccessibleInterface *, QAccessible::Relation> > relations(QAccessible::Relation match = QAccessible::AllRelations) const
virtual QAccessible::Role role() const = 0
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).

Каждый элемент, с которым пользователь должен взаимодействовать или реагировать, является объектом доступности и должен предоставить эту информацию. Это в основном визуальные объекты, такие как виджеты и элементы виджетов, но также могут быть контентом, например, звуками.

Клиент AT использует три основных понятия для получения информации о любом объекте доступности в приложении:

  • Свойства Клиент может читать информацию об объектах доступности. В некоторых случаях клиент также может изменить эти свойства; например, текст в строке редактирования.
  • Действия Клиент может вызывать действия, такие как нажатие кнопки или .
  • Связи и навигация Клиент может перемещаться от одного объекта доступности к другому, используя связи между объектами.

Класс QAccessibleInterface определяет API для этих трёх понятий.

Связи и навигация

Функции childCount() и indexOfChild() возвращают количество дочерних элементов объекта доступности и индекс дочернего объекта в его родительском элементе. Функция childAt() возвращает дочерний QAccessibleInterface, который найден в определённой позиции. Дочерний элемент необязательно является непосредственным дочерним элементом. Это позволяет обойти промежуточные слои, когда родитель уже знает самый верхний дочерний элемент. childAt() используется для проверки попадания (поиск объекта под мышью).

Функция relations() предоставляет информацию о связях, которые имеет объект с другими объектами, а функции parent() и child() позволяют перемещаться от одного объекта к другому.

Свойства

Центральным свойством объекта доступности является его role(). Разные объекты могут иметь один и тот же роль, например, как элемент "Добавить строку" в полосе прокрутки, так и кнопка OK в диалоговом окне имеют одну и ту же роль, "кнопка". Роль подразумевает, какой тип взаимодействия пользователь может выполнить с элементом пользовательского интерфейса.

Свойство state() объекта представляет собой комбинацию различных флагов состояния и может описывать как отличия состояния объекта от "нормального" состояния, например, оно может быть недоступно, так и как оно ведет себя, например, может быть выбираемым.

Свойство text() предоставляет текстовую информацию об объекте. Объект обычно имеет имя, но может предоставлять расширенную информацию, такую как описание, текст справки или информация о любом сочетании клавиш, которое он предоставляет. Некоторые объекты позволяют изменять свойство text() с помощью функции setText(), но эта информация в большинстве случаев является только для чтения.

Свойство rect() предоставляет информацию о геометрии объекта доступности. Эта информация обычно доступна только для визуальных объектов.

Интерфейсы

Чтобы пользователь смог взаимодействовать с объектом доступности, объект должен реализовать QAccessibleActionInterface в дополнение к QAccessibleInterface. Объекты, которые поддерживают выбор, могут определять действия для изменения выбора.

Существуют и другие интерфейсы, которые должны быть реализованы по мере необходимости. QAccessibleTextInterface должен использоваться для больших редакторов текста, таких как представления документов. Этот интерфейс не должен реализовываться для меток/строк редактирования.

Для ползунков, полос прокрутки и других селекторов числовых значений должен быть реализован QAccessibleValueInterface.

Списки, таблицы и деревья должны реализовать QAccessibleTableInterface.

См. также QAccessible, QAccessibleActionInterface, QAccessibleTextInterface, QAccessibleValueInterface и QAccessibleTableInterface.

Документация по функциям-членам

[virtual protected] QAccessibleInterface::~QAccessibleInterface()

Удаляет QAccessibleInterface.

QAccessibleActionInterface *QAccessibleInterface::actionInterface()

[virtual] QColor QAccessibleInterface::backgroundColor() const

Возвращает цвет фона объекта доступности, если применимо, или недопустимый QColor.

См. также foregroundColor().

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

Возвращает доступного потомка с индексом index. Нумерация с 0. Количество потомков объекта можно проверить с помощью childCount.

Возвращает nullptr при запросе несуществующего потомка (например, если потомок стал недоступен в промежутке).

См. также childCount() и parent().

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

Возвращает QAccessibleInterface потомка, содержащего экранные координаты (x, y). Если потомков в этой позиции нет, функция возвращает nullptr. Возвращаемый доступный элемент должен быть потомком, но не обязательно непосредственным.

Эта функция надёжна только для видимых объектов (невидимые объекты могут быть неверно расположены).

Все визуальные объекты предоставляют эту информацию.

Реализация по умолчанию предоставляется для объектов, наследующих от QAccessibleObject. Она будет перебирать всех потомков. Если виджет управляет своими потомками (например, таблица), эффективнее будет написать специализированную реализацию.

См. также rect().

[pure virtual] int QAccessibleInterface::childCount() const

Возвращает количество потомков, принадлежащих этому объекту. Потомок может предоставлять информацию о доступности самостоятельно (например, дочерний виджет) или быть подэлементом этого доступного объекта.

Все объекты предоставляют эту информацию.

См. также indexOfChild().

[virtual] QAccessibleInterface *QAccessibleInterface::focusChild() const

Возвращает объект, имеющий фокус клавиатуры.

Возвращаемый объект может быть любым потомком, включая сам себя.

[virtual] QColor QAccessibleInterface::foregroundColor() const

Возвращает цвет переднего плана доступного объекта, если применимо, или недействительный QColor.

См. также backgroundColor().

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

Возвращает индекс (нумерация с 0) объекта child в списке потомков этого объекта, или -1, если child не является потомком этого объекта.

Все объекты предоставляют эту информацию о своих потомках.

См. также childCount().

[virtual] void *QAccessibleInterface::interface_cast(QAccessible::InterfaceType type)

Возвращает специализированный интерфейс доступности type из универсального QAccessibleInterface.

Эта функция должна быть переопределена при предоставлении дополнительной информации о виджете или объекте через специализированные интерфейсы. Например, поле ввода должно реализовывать QAccessibleTextInterface.

Например, у Qt QLineEdit поддержка доступности реализована в QAccessibleLineEdit.

void *QAccessibleLineEdit::interface_cast(QAccessible::InterfaceType t)
{
    if (t == QAccessible::TextInterface)
        return static_cast<QAccessibleTextInterface*>(this);
    return QAccessibleWidget::interface_cast(t);
}

См. также QAccessible::InterfaceType, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface и QAccessibleTableCellInterface.

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

Возвращает true если все данные, необходимые для использования этой реализации интерфейса, действительны (например, все указатели не равны null); в противном случае возвращает false.

См. также object().

[pure virtual] QObject *QAccessibleInterface::object() const

Возвращает указатель на QObject, для которого эта реализация интерфейса предоставляет информацию.

См. также isValid().

[pure virtual] QAccessibleInterface *QAccessibleInterface::parent() const

Возвращает QAccessibleInterface родительского элемента в иерархии доступных объектов.

Возвращает nullptr если родительский элемент не существует (например, для объекта верхнего уровня приложения).

См. также child().

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

Возвращает геометрию объекта. Геометрия указана в экранных координатах.

Эта функция надёжна только для видимых объектов (невидимые объекты могут быть неверно расположены).

Все визуальные объекты предоставляют эту информацию.

См. также childAt().

[virtual] QVector<QPair<QAccessibleInterface *, QAccessible::Relation> > QAccessibleInterface::relations(QAccessible::Relation match = QAccessible::AllRelations) const

Возвращает значимые связи с другими виджетами. Обычно это не будут отношения родитель/потомок, если они не обрабатываются специальным образом, как в древовидных представлениях. Как правило, это будут отношения «метка-объект» и «объект-метка».

Можно отфильтровать связи с помощью match. Никогда не должно возвращаться значение самого объекта.

См. также parent() и child().

[pure virtual] QAccessible::Role QAccessibleInterface::role() const

Возвращает роль объекта. Роль объекта обычно статична.

Все доступные объекты имеют роль.

См. также text() и state().

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

Устанавливает свойство текста t объекта на text.

Обратите внимание, что свойства текста большинства объектов являются только для чтения, поэтому вызов этой функции может не иметь эффекта.

См. также text().

[pure virtual] QAccessible::State QAccessibleInterface::state() const

Возвращает текущее состояние объекта. Возвращаемое значение является комбинацией флагов из перечисления QAccessible::StateFlag.

Все доступные объекты имеют состояние.

См. также text() и role().

QAccessibleTableCellInterface *QAccessibleInterface::tableCellInterface()

QAccessibleTableInterface *QAccessibleInterface::tableInterface()

[pure virtual] QString QAccessibleInterface::text(QAccessible::Text t) const

Возвращает значение свойства текста t объекта.

Свойство QAccessible::Name — строка, используемая клиентами для идентификации, поиска или объявления доступного объекта для пользователя. Все объекты должны иметь имя, уникальное в своем контейнере. Имя может использоваться клиентами по-разному, поэтому имя должно как кратко описывать объект, так и быть уникальным.

Свойство QAccessible::Description доступного объекта предоставляет текстовую информацию о визуальном представлении объекта. Описание в основном используется для предоставления большего контекста для пользователей с нарушениями зрения, но также используется для поиска контекста или других применений. Не все объекты имеют описание. Кнопка «ОК» не нуждается в описании, но кнопка инструмента, отображающая изображение смайлика, нуждается.

Свойство QAccessible::Value доступного объекта представляет визуальную информацию, содержащуюся в объекте, например, текст в поле ввода. Обычно значение может быть изменено пользователем. Не все объекты имеют значение, например, статические текстовые метки нет, а у некоторых объектов состояние уже является значением, например, переключатели.

Текст QAccessible::Help предоставляет информацию о функции и использовании доступного объекта. Не все объекты предоставляют эту информацию.

Свойство QAccessible::Accelerator — это сочетание клавиш, которое активирует стандартное действие объекта. Сочетание клавиш — это подчеркнутый символ в тексте меню, пункта меню или виджета, и это либо сам символ, либо комбинация этого символа и модификатора, такого как Alt, Ctrl или Shift. У элементов управления, таких как кнопки инструментов, также есть сочетания клавиш, которые обычно отображаются в подсказке.

Все объекты предоставляют строку для QAccessible::Name.

См. также setText(), role() и state().

END_OF_DOCUMENT_MARKER

QAccessibleTextInterface *QAccessibleInterface::textInterface()

QAccessibleValueInterface *QAccessibleInterface::valueInterface()

[virtual] QWindow *QAccessibleInterface::window() const

Возвращает окно, связанное с базовым объектом. Например, QAccessibleWidget переопределяет этот метод и возвращает windowHandle() QWidget.

Используется на некоторых платформах для уведомления клиента AT об изменениях состояния. Бэкенд будет перебирать всех предков до тех пор, пока не найдёт окно. (Это означает, что хотя бы один интерфейс среди предков должен вернуть допустимый указатель QWindow).

Реализация по умолчанию возвращает nullptr.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qaccessibleinterface.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API