Spec-Zone.ru › Qt 5.14

Класс QAccessibleInterface

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

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

QAccessibleObject

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

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

QAccessibleActionInterface * actionInterface()
виртуальный QColor backgroundColor() const
виртуальный QAccessibleInterface * child(int index) const = 0
виртуальный QAccessibleInterface * childAt(int x, int y) const = 0
виртуальный int childCount() const = 0
виртуальный QAccessibleInterface * focusChild() const
виртуальный QColor foregroundColor() const
виртуальный int indexOfChild(const QAccessibleInterface *child) const = 0
виртуальный void * interface_cast(QAccessible::InterfaceType type)
виртуальный bool isValid() const = 0
виртуальный QObject * object() const = 0
виртуальный QAccessibleInterface * parent() const = 0
виртуальный QRect rect() const = 0
виртуальный QVector<QPair<QAccessibleInterface *, QAccessible::Relation> > relations(QAccessible::Relation match = QAccessible::AllRelations) const
виртуальный QAccessible::Role role() const = 0
виртуальный void setText(QAccessible::Text t, const QString &text) = 0
виртуальный QAccessible::State state() const = 0
QAccessibleTableCellInterface * tableCellInterface()
QAccessibleTableInterface * tableInterface()
виртуальный QString text(QAccessible::Text t) const = 0
QAccessibleTextInterface * textInterface()
QAccessibleValueInterface * valueInterface()
виртуальный QWindow * window() const

Защищённые функции

виртуальный ~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().

END_OF_DOCUMENT_MARKER

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

Возвращает доступный дочерний элемент с индексом index. Индекс нулевой. Количество дочерних элементов объекта можно проверить с помощью 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().

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.14/qaccessibleinterface.html

Spec-Zone.ru

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