Spec-Zone.ru › Qt

Класс QAccessibleInterface

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

Заголовок: #include <QAccessibleInterface>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
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 QList<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. Индекс нулевой. Количество дочерних элементов объекта можно проверить с помощью 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

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

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

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

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

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

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

См. также 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 родительского элемента в иерархии объектов доступности.

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

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

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

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

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

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

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

[virtual] QList<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 объекта доступности предоставляет текстовую информацию о визуальном представлении объекта. Описание в первую очередь используется для предоставления большего контекста пользователям с нарушениями зрения, но также используется для поиска по контексту или других применений. Не все объекты имеют описание. Кнопка «OK» не нуждается в описании, но кнопка инструмента, которая показывает изображение смайлика, нуждается.

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

Spec-Zone.ru

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