Класс QAccessibleInterface
Класс QAccessibleInterface определяет интерфейс, который предоставляет информацию о доступных объектах. Подробнее...
| Заголовок: | #include <QAccessibleInterface> |
| qmake: | QT += gui |
| Наследуется от: |
Открытые функции
| 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) 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() |
Подробное описание
Класс 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. Индекс нулевой базы. Количество дочерних элементов объекта можно проверить с помощью childCount.
Возвращает 0 при запросе недействительного дочернего элемента (например, когда дочерний элемент стал недействительным в это время).
См. также childCount() и parent().
[pure virtual] QAccessibleInterface *QAccessibleInterface::childAt(int x, int y) const
Возвращает QAccessibleInterface дочернего элемента, содержащего экранные координаты (x, y). Если в этом положении нет дочерних элементов, функция возвращает 0. Возвращённый доступный элемент должен быть дочерним, но необязательно непосредственным дочерним элементом.
Эта функция надёжна только для видимых объектов (невидимые объекты могут быть неверно расположены).
Все визуальные объекты предоставляют эту информацию.
Для объектов, наследующих 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
Возвращает индекс объекта child в списке дочерних элементов этого объекта с нулевой базой, или -1, если child не является дочерним элементом этого объекта.
Все объекты предоставляют эту информацию о своих дочерних элементах.
См. также childCount().
[virtual] void *QAccessibleInterface::interface_cast(QAccessible::InterfaceType type)
Возвращает специализированный интерфейс доступности type из универсального QAccessibleInterface.
Эта функция должна быть переопределена при предоставлении дополнительной информации о виджете или объекте с помощью специализированных интерфейсов. Например, поле ввода должно реализовать QAccessibleTextInterface.
Qt's 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, если все данные, необходимые для использования этой реализации интерфейса, действительны (например, все указатели не равны нулю); в противном случае возвращает false.
См. также object().
[pure virtual] QObject *QAccessibleInterface::object() const
Возвращает указатель на QObject, для которого эта реализация интерфейса предоставляет информацию.
См. также isValid().
[pure virtual] QAccessibleInterface *QAccessibleInterface::parent() const
Возвращает QAccessibleInterface родителя в иерархии доступных объектов.
Возвращает 0, если родитель не существует (например, для верхнего уровня приложения).
См. также child().
[pure virtual] QRect QAccessibleInterface::rect() const
Возвращает геометрию объекта. Геометрия находится в экранных координатах.
Эта функция надёжна только для видимых объектов (невидимые объекты могут быть неверно расположены).
Все визуальные объекты предоставляют эту информацию.
См. также childAt().
[virtual] QVector<QPair<QAccessibleInterface *, QAccessible::Relation> > QAccessibleInterface::relations(QAccessible::Relation match) const
Возвращает значимые отношения с другими виджетами. Обычно это не возвращает родительские/дочерние отношения, если только они не обрабатываются каким-то специфическим способом, как в древовидных представлениях. Обычно возвращаются отношения «метка-помечаемое» и «помечающее-метка».
Возможна фильтрация отношений с помощью match. Самому себе оно никогда не должно возвращаться.
[pure virtual] QAccessible::Role QAccessibleInterface::role() const
Возвращает роль объекта. Роль объекта обычно статична.
Все доступные объекты имеют роль.
[pure virtual] void QAccessibleInterface::setText(QAccessible::Text t, const QString &text)
Устанавливает свойство текста t объекта в text.
Обратите внимание, что свойства текста большинства объектов только для чтения, поэтому вызов этой функции может не иметь эффекта.
См. также text().
[pure virtual] QAccessible::State QAccessibleInterface::state() const
Возвращает текущее состояние объекта. Возвращаемое значение является комбинацией флагов в перечислении QAccessible::StateFlag.
Все доступные объекты имеют состояние.
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).
По умолчанию возвращает 0.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qaccessibleinterface.html