Класс QAccessible
Класс QAccessible предоставляет перечисления и статические функции, связанные с доступностью. Подробнее...
| Заголовок: | #include <QAccessible> |
| qmake: | QT += gui |
Типы
| Состояние | |
| Перечисление | Событие { Изменение Акселератора, Изменение Действия, Изменение Активного Потомка, Предупреждение, Изменение Атрибута, …, Изменение Видимых Данных } |
| typedef | Идентификатор |
| typedef | Фабрика Интерфейса |
| Перечисление | Тип Интерфейса { Текстовый Интерфейс, Интерфейс Значения, Интерфейс Действия, Интерфейс Таблицы, Интерфейс Ячейки Таблицы } |
| Флаги | Связь |
| Перечисление | Флаг Связи { Метка, Метка, Контроллер, Управляемый Объект, Все Связи } |
| Перечисление | Роль { Сообщение Предупреждения, Анимация, Приложение, Помощник, Граница, …, Окно } |
| Перечисление | Текст { Имя, Описание, Значение, Справка, Акселератор, Пользовательский Текст } |
| Перечисление | Тип Границы Текста { Граница Символа, Граница Слова, Граница Предложения, Граница Абзаца, Граница Строки, Без Границы } |
Статические Публичные Члены
| QAccessibleInterface * | accessibleInterface(QAccessible::Id id) |
| void | deleteAccessibleInterface(QAccessible::Id id) |
| void | installFactory(QAccessible::InterfaceFactory factory) |
| bool | isActive() |
| QAccessibleInterface * | queryAccessibleInterface(QObject *object) |
| QAccessible::Id | registerAccessibleInterface(QAccessibleInterface *iface) |
| void | removeFactory(QAccessible::InterfaceFactory factory) |
| void | setRootObject(QObject *object) |
| QAccessible::Id | uniqueId(QAccessibleInterface *iface) |
| void | updateAccessibility(QAccessibleEvent *event) |
Подробное описание
Этот класс является частью Доступности для приложений QWidget.
Доступные приложения могут использоваться людьми, которые не могут использовать приложения обычными способами.
Функции в этом классе используются для связи между доступными приложениями (также называемыми серверами AT) и средствами доступности (клиентами AT), такими как экранные читатели и брайлевские дисплеи. Клиенты и серверы взаимодействуют следующим образом:
- Серверы AT уведомляют клиентов о событиях, вызывая функцию updateAccessibility().
- Клиенты AT запрашивают информацию об объектах на сервере. Класс QAccessibleInterface является основным интерфейсом и инкапсулирует эту информацию в чистом виртуальном API. Реализации интерфейса предоставляются Qt через API queryAccessibleInterface().
Взаимодействие между серверами и клиентами инициируется функцией setRootObject(). Указатели функций могут быть установлены для замены или расширения стандартного поведения статических функций в QAccessible.
Qt поддерживает Microsoft Active Accessibility (MSAA), macOS Accessibility и стандарт Unix/X11 AT-SPI. Другие бэкэнды могут быть поддержаны с помощью QAccessibleBridge.
В реализации Unix/X11 AT-SPI приложения становятся доступными, когда выполнены два условия:
- Свойство org.a11y.Status.IsEnabled DBus равно true
- Свойство org.a11y.Status.ScreenReaderEnabled DBus равно true
Альтернативой установке свойств DBus AT-SPI является установка переменной окружения QT_LINUX_ACCESSIBILITY_ALWAYS_ON.
Помимо статических функций QAccessible, Qt предлагает один универсальный интерфейс QAccessibleInterface, который может быть использован для обертывания всех виджетов и объектов (например, QPushButton). Этот единый интерфейс предоставляет все метаданные, необходимые для средств вспомогательных технологий. Qt предоставляет реализации этого интерфейса для своих встроенных виджетов в виде плагинов.
При разработке пользовательских виджетов вы можете создавать пользовательские подклассы QAccessibleInterface и распространять их как плагины (используя QAccessiblePlugin) или компилировать их в приложение. Точно так же предопределенная поддержка доступности Qt может быть скомпилирована как плагин (по умолчанию) или непосредственно в библиотеку Qt. Главное преимущество использования плагинов заключается в том, что классы доступности загружаются в память только в том случае, если они фактически используются; они не замедляют общий случай, когда средства вспомогательных технологий не используются.
Qt также включает два удобных класса QAccessibleObject и QAccessibleWidget, которые наследуются от QAccessibleInterface и предоставляют минимальный набор метаданных (например, геометрия виджета, заголовок окна, базовый текст справки). Вы можете использовать их в качестве базовых классов при обертывании ваших пользовательских подклассов QObject или QWidget.
См. также QAccessibleInterface.
Документация по типам членов
Перечисление QAccessible::Событие
Этот тип перечисления определяет типы событий доступности.
END_OF_DOCUMENT_MARKER| Постоянная | Значение | Описание |
|---|---|---|
QAccessible::AcceleratorChanged |
0x80C0 |
Была изменена клавиша быстрого доступа для действия. |
QAccessible::ActionChanged |
0x0101 |
Было изменено действие. |
QAccessible::ActiveDescendantChanged |
0x0102 |
|
QAccessible::Alert |
0x0002 |
Системное уведомление (например, сообщение из QMessageBox) |
QAccessible::AttributeChanged |
0x0103 |
|
QAccessible::ContextHelpEnd |
0x000D |
Завершено контекстное справочное описание (QWhatsThis) для объекта. |
QAccessible::ContextHelpStart |
0x000C |
Начато контекстное справочное описание (QWhatsThis) для объекта. |
QAccessible::DefaultActionChanged |
0x80B0 |
Изменено стандартное действие QAccessible::Action для доступного объекта. |
QAccessible::DescriptionChanged |
0x800D |
Изменено свойство QAccessible::Description объекта. |
QAccessible::DialogEnd |
0x0011 |
Диалоговое окно (QDialog) скрыто. |
QAccessible::DialogStart |
0x0010 |
Диалоговое окно (QDialog) сделано видимым. |
QAccessible::DocumentContentChanged |
0x0104 |
Изменилось содержимое текстового документа. |
QAccessible::DocumentLoadComplete |
0x0105 |
Документ загружен. |
QAccessible::DocumentLoadStopped |
0x0106 |
Остановлена загрузка документа. |
QAccessible::DocumentReload |
0x0107 |
Инициализирована перезагрузка документа. |
QAccessible::DragDropEnd |
0x000F |
Операция перетаскивания и размещения завершается. |
QAccessible::DragDropStart |
0x000E |
Начинается операция перетаскивания и размещения. |
QAccessible::Focus |
0x8005 |
Объект получил фокус ввода с клавиатуры. |
QAccessible::ForegroundChanged |
0x0003 |
Окно активировано (т.е. новое окно получило фокус на рабочем столе). |
QAccessible::HelpChanged |
0x80A0 |
Изменено свойство QAccessible::Help текста объекта. |
QAccessible::HyperlinkEndIndexChanged |
0x0108 |
Изменилась конечная позиция отображаемого текста гиперссылки. |
QAccessible::HyperlinkNumberOfAnchorsChanged |
0x0109 |
Изменилось количество якорей в гиперссылке, возможно, из-за разделения отображаемого текста для создания нескольких ссылок. |
QAccessible::HyperlinkSelectedLinkChanged |
0x010A |
Изменилась ссылка выделенной гиперссылки. |
QAccessible::HyperlinkStartIndexChanged |
0x010D |
Изменилась начальная позиция отображаемого текста гиперссылки. |
QAccessible::HypertextChanged |
0x010E |
Изменился отображаемый текст гиперссылки. |
QAccessible::HypertextLinkActivated |
0x010B |
Активирована гиперссылка, возможно, щелчком мыши или нажатием клавиши. |
QAccessible::HypertextLinkSelected |
0x010C |
Выделена гиперссылка. |
QAccessible::HypertextNLinksChanged |
0x010F |
|
QAccessible::LocationChanged |
0x800B |
Изменилось расположение объекта на экране. |
QAccessible::MenuCommand |
0x0018 |
Вызвано пункта меню. |
QAccessible::MenuEnd |
0x0005 |
Закрыто меню (Qt использует PopupMenuEnd для всех меню). |
QAccessible::MenuStart |
0x0004 |
Открыто меню в строке меню (Qt использует PopupMenuStart для всех меню). |
QAccessible::NameChanged |
0x800C |
Изменено свойство QAccessible::Name объекта. |
QAccessible::ObjectAttributeChanged |
0x0110 |
|
QAccessible::ObjectCreated |
0x8000 |
Создан новый объект. |
QAccessible::ObjectDestroyed |
0x8001 |
Объект удален. |
QAccessible::ObjectHide |
0x8003 |
Объект скрыт, например, с помощью QWidget::hide(). Любые дочерние объекты скрытого объекта не отправляют это событие. Оно не отправляется, когда объект скрывается, будучи заслонённым другими. |
QAccessible::ObjectReorder |
0x8004 |
Макет или представление элементов добавили, удалили или переместили объект (Qt не использует это событие). |
QAccessible::ObjectShow |
0x8002 |
Объект отображён, например, с помощью QWidget::show(). |
QAccessible::PageChanged |
0x0111 |
|
QAccessible::ParentChanged |
0x800F |
Изменился родительский объект объекта. |
QAccessible::PopupMenuEnd |
0x0007 |
Закрыто всплывающее меню. |
QAccessible::PopupMenuStart |
0x0006 |
Открыто всплывающее меню. |
QAccessible::ScrollingEnd |
0x0013 |
Завершена операция прокрутки полосы прокрутки (кнопка ползунка отпущена). |
QAccessible::ScrollingStart |
0x0012 |
Начинается операция прокрутки полосы прокрутки; это может быть вызвано, например, нажатием кнопки ползунка. |
QAccessible::SectionChanged |
0x0112 |
|
QAccessible::SelectionAdd |
0x8007 |
Элемент добавлен во выделение в представлении элементов. |
QAccessible::SelectionRemove |
0x8008 |
Элемент удален из выделения в представлении элементов. |
QAccessible::Selection |
0x8006 |
Изменилось выделение в меню или представлении элементов. |
QAccessible::SelectionWithin |
0x8009 |
Произошло несколько изменений в выделении в представлении элементов. |
QAccessible::SoundPlayed |
0x0001 |
Объект воспроизвел звук. |
QAccessible::TableCaptionChanged |
0x0113 |
Изменено заголовок таблицы. |
QAccessible::TableColumnDescriptionChanged |
0x0114 |
Изменено описание столбца таблицы, обычно находящееся в заголовке столбца. |
QAccessible::TableColumnHeaderChanged |
0x0115 |
Изменен заголовок столбца таблицы. |
QAccessible::TableRowDescriptionChanged |
0x0117 |
Изменено описание строки таблицы, обычно находящееся в заголовке строки. |
QAccessible::TableRowHeaderChanged |
0x0118 |
Изменен заголовок строки таблицы. |
QAccessible::TableSummaryChanged |
0x0119 |
Изменен сводный заголовок таблицы. |
QAccessible::TextColumnChanged |
0x011D |
Столбец текста был изменён. |
QAccessible::VisibleDataChanged |
0x0122 |
Значения для этого перечисления определены так же, как и в спецификациях IAccessible2 и MSAA.
typedef QAccessible::Id
Синоним для unsigned, используемый кэшем QAccessibleInterface.
typedef QAccessible::InterfaceFactory
Это псевдоним для указателя на функцию со следующим сигнатурой:
typedef QAccessibleInterface* myFactoryFunction(const QString &key, QObject *);
Функция получает QString и указатель на QObject, где QString — ключ, определяющий интерфейс. QObject используется для передачи в QAccessibleInterface, чтобы тот мог сохранить ссылку на него.
Если ключу и QObject не соответствует QAccessibleInterface, будет возвращено nullptr.
Установленные фабрики вызываются функцией queryAccessibilityInterface() до тех пор, пока одна из них не предоставит интерфейс.
enum QAccessible::InterfaceType
QAccessibleInterface поддерживает несколько под-интерфейсов. Для предоставления дополнительной информации об объектах их представление с доступом должно реализовывать один или несколько из этих интерфейсов.
Примечание: При наследовании одного из этих интерфейсов необходимо реализовать QAccessibleInterface::interface_cast().
| Постоянная | Значение | Описание |
|---|---|---|
QAccessible::TextInterface |
0 |
Для текста, поддерживающего выделение или состоящего более чем из одной строки. Простые метки не должны реализовывать этот интерфейс. |
QAccessible::ValueInterface |
2 |
Для объектов, используемых для манипулирования значением, например, ползунки или полосы прокрутки. |
QAccessible::ActionInterface |
3 |
Для интерактивных объектов, позволяющих пользователю запускать действие. В основном всё, что, например, позволяет взаимодействие с мышкой. |
QAccessible::TableInterface |
5 |
Для списков, таблиц и деревьев. |
QAccessible::TableCellInterface |
6 |
Для ячеек в объекте TableInterface. |
См. также QAccessibleInterface::interface_cast(), QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface и QAccessibleTableCellInterface.
enum QAccessible::RelationFlagflags QAccessible::Relation
Этот тип перечисления определяет битовые флаги, которые могут быть объединены для указания взаимосвязи между двумя объектами с доступом.
| Постоянная | Значение | Описание |
|---|---|---|
QAccessible::Label |
0x00000001 |
Первый объект является меткой второго объекта. |
QAccessible::Labelled |
0x00000002 |
Первый объект помечен вторым объектом. |
QAccessible::Controller |
0x00000004 |
Первый объект управляет вторым объектом. |
QAccessible::Controlled |
0x00000008 |
Первый объект управляется вторым объектом. |
QAccessible::AllRelations |
0xffffffff |
Используется в качестве маски для указания того, что нас интересует информация обо всех отношениях. |
Реализации relations() возвращают комбинацию этих флагов. Некоторые значения взаимно исключают друг друга.
Тип Relation — псевдоним для QFlags<RelationFlag>. Он хранит комбинацию значений RelationFlag с помощью оператора OR.
enum QAccessible::Role
Это перечисление определяет роль объекта с доступом. Роли:
| Константа | Значение | Описание |
|---|---|---|
QAccessible::AlertMessage |
0x00000008 |
Объект, используемый для отображения предупреждения пользователю. |
QAccessible::Animation |
0x00000036 |
Объект, отображающий анимацию. |
QAccessible::Application |
0x0000000E |
Главное окно приложения. |
QAccessible::Assistant |
0x00000020 |
Объект, предоставляющий интерактивную справку. |
QAccessible::Border |
0x00000013 |
Объект, представляющий границу. |
QAccessible::ButtonDropDown |
0x00000038 |
Кнопка, раскрывающая список элементов. |
QAccessible::ButtonDropGrid |
0x0000003A |
Кнопка, раскрывающая таблицу. |
QAccessible::ButtonMenu |
0x00000039 |
Кнопка, раскрывающая меню. |
QAccessible::Canvas |
0x00000035 |
Объект, отображающий графику, с которой пользователь может взаимодействовать. |
QAccessible::Caret |
0x00000007 |
Объект, представляющий курсор системы (курсор ввода текста). |
QAccessible::Cell |
0x0000001D |
Ячейка таблицы. |
QAccessible::Chart |
0x00000011 |
Объект, отображающий графическое представление данных. |
QAccessible::CheckBox |
0x0000002C |
Объект, представляющий опцию, которую можно установить или сбросить. Некоторые опции предоставляют состояние «смешанное», например, ни отмеченное, ни не отмеченное. |
QAccessible::Client |
0x0000000A |
Область клиента в окне. |
QAccessible::Clock |
0x0000003D |
Часы, отображающие время. |
QAccessible::ColorChooser |
0x404 |
Диалоговое окно, позволяющее пользователю выбрать цвет. |
QAccessible::Column |
0x0000001B |
Столбец ячеек, обычно в таблице. |
QAccessible::ColumnHeader |
0x00000019 |
Заголовок столбца данных. |
QAccessible::ComboBox |
0x0000002E |
Список вариантов, из которых пользователь может выбрать. |
QAccessible::ComplementaryContent |
0x42C |
Часть документа или веб-страницы, дополняющая основное содержимое, обычно ориентир (см. WAI-ARIA). |
QAccessible::Cursor |
0x00000006 |
Объект, представляющий указатель мыши. |
QAccessible::Desktop |
0x00000082 |
Объект представляет рабочий стол или рабочую область. |
QAccessible::Dial |
0x00000031 |
Объект, представляющий циферблат или ручку. |
QAccessible::Dialog |
0x00000012 |
Диалоговое окно. |
QAccessible::Document |
0x0000000F |
Документ, например, в приложении для офисной работы. |
QAccessible::EditableText |
0x0000002A |
Редактируемый текст, например, строка или поле редактирования текста. |
QAccessible::Equation |
0x00000037 |
Объект, представляющий математическое уравнение. |
QAccessible::Footer |
0x40E |
Подвал страницы (обычно в документах). |
QAccessible::Form |
0x410 |
Веб-форма с элементами управления. |
QAccessible::Graphic |
0x00000028 |
Графика или изображение, например, значок. |
QAccessible::Grip |
0x00000004 |
Маркер, который пользователь может перетащить для изменения размера виджетов. |
QAccessible::Grouping |
0x00000014 |
Объект, представляющий логическую группировку других объектов. |
QAccessible::Heading |
0x414 |
Заголовок в документе. |
QAccessible::HelpBalloon |
0x0000001F |
Объект, отображающий справку в отдельном, кратковременном окне. |
QAccessible::HotkeyField |
0x00000032 |
Поле быстрого доступа, которое позволяет пользователю вводить последовательность клавиш. |
QAccessible::Indicator |
0x00000027 |
Индикатор, представляющий текущее значение или элемент. |
QAccessible::LayeredPane |
0x00000080 |
Объект, который может содержать слоированные дочерние элементы, например, в стеке. |
QAccessible::Link |
0x0000001E |
Ссылка на что-то другое. |
QAccessible::List |
0x00000021 |
Список элементов, из которых пользователь может выбрать один или несколько элементов. |
QAccessible::ListItem |
0x00000022 |
Элемент в списке элементов. |
QAccessible::MenuBar |
0x00000002 |
Панель меню, из которой пользователь открывает меню. |
QAccessible::MenuItem |
0x0000000C |
Элемент в меню или строке меню. |
QAccessible::NoRole |
0x00000000 |
Объект не имеет роли. Это обычно указывает на недопустимый объект. |
QAccessible::Note |
0x41B |
Раздел, содержимое которого является скобочным или дополнительным по отношению к основному содержимому ресурса. |
QAccessible::Notification |
0x00000086 |
Объект, представляющий уведомление (например, в области уведомлений). Эта роль действует только в Linux. |
QAccessible::PageTab |
0x00000025 |
Вкладка страницы, которую пользователь может выбрать для переключения на другую страницу в диалоговом окне. |
QAccessible::PageTabList |
0x0000003C |
Список вкладок страниц. |
QAccessible::Paragraph |
0x00000083 |
Абзац текста (обычно в документах). |
QAccessible::Pane |
0x00000010 |
Общий контейнер. |
QAccessible::PopupMenu |
0x0000000B |
Меню, которое перечисляет варианты, которые пользователь может выбрать для выполнения действия. |
QAccessible::ProgressBar |
0x00000030 |
Объект отображает ход выполнения операции в процессе. |
QAccessible::PropertyPage |
0x00000026 |
Страница свойств, где пользователь может изменить параметры и настройки. |
QAccessible::Button |
0x0000002B |
Кнопка. |
QAccessible::RadioButton |
0x0000002D |
Объект, представляющий взаимоисключающую опцию с другими опциями. |
QAccessible::Row |
0x0000001C |
Строка ячеек, обычно в таблице. |
QAccessible::RowHeader |
0x0000001A |
Заголовок строки данных. |
QAccessible::ScrollBar |
0x00000003 |
Полоса прокрутки, которая позволяет пользователю прокручивать видимую область. |
QAccessible::Section |
0x00000085 |
Раздел (в документе). |
QAccessible::Separator |
0x00000015 |
Разделитель, который делит пространство на логические области. |
QAccessible::Slider |
0x00000033 |
Ползунок, позволяющий пользователю выбрать значение в заданном диапазоне. |
QAccessible::Sound |
0x00000005 |
Объект, представляющий звук. |
QAccessible::SpinBox |
0x00000034 |
Элемент спин-бокc, позволяющий пользователю ввести значение в заданном диапазоне. |
QAccessible::Splitter |
0x0000003E |
Разделитель, распределяющий доступное пространство между своими дочерними виджетами. |
QAccessible::StaticText |
0x00000029 |
Статический текст, например, метки для других виджетов. |
QAccessible::StatusBar |
0x00000017 |
Строка состояния. |
QAccessible::Table |
0x00000018 |
Таблица, представляющая данные в сетке строк и столбцов. |
QAccessible::Terminal |
0x00000081 |
Терминал или командная строка. |
QAccessible::TitleBar |
0x00000001 |
Заголовок строки заголовка окна. |
QAccessible::ToolBar |
0x00000016 |
Панель инструментов, которая группирует виджеты, к которым пользователь часто обращается. |
QAccessible::ToolTip |
0x0000000D |
Подсказка, которая предоставляет информацию об других объектах. |
QAccessible::Tree |
0x00000023 |
Список элементов в структуре дерева. |
QAccessible::TreeItem |
0x00000024 |
Элемент в структуре дерева. |
QAccessible::UserRole |
0x0000ffff |
Первое значение, используемое для ролей, определённых пользователем. |
QAccessible::WebDocument |
0x00000084 |
HTML-документ, обычно в браузере. |
QAccessible::Whitespace |
0x0000003B |
Пустое пространство между другими объектами. |
QAccessible::Window |
0x00000009 |
Окно верхнего уровня. |
enum QAccessible::Text
Этот перечисление задаёт строковую информацию, которую возвращает доступный объект.
| Константа | Значение | Описание |
|---|---|---|
QAccessible::Name |
0 |
Название объекта. Это может быть использовано как идентификатор, так и краткое описание, используемое клиентами, обеспечивающими доступ. |
QAccessible::Description |
1 |
Краткое описание объекта. |
QAccessible::Value |
2 |
Значение объекта. |
QAccessible::Help |
3 |
Более подробный текст, содержащий информацию о том, как использовать объект. |
QAccessible::Accelerator |
4 |
Сочетание клавиш, которое выполняет стандартное действие объекта. |
QAccessible::UserText |
0x0000ffff |
Первое значение, используемое для пользовательского текста. |
enum QAccessible::TextBoundaryType
Это перечисление описывает различные типы границ текста. Оно следует API IAccessible2 и используется в QAccessibleTextInterface.
| Константа | Значение | Описание |
|---|---|---|
QAccessible::CharBoundary |
0 |
Используются отдельные символы как границы. |
QAccessible::WordBoundary |
1 |
Используются слова как границы. |
QAccessible::SentenceBoundary |
2 |
Используются предложения как границы. |
QAccessible::ParagraphBoundary |
3 |
Используются абзацы как границы. |
QAccessible::LineBoundary |
4 |
Используются переводы строк как границы. |
QAccessible::NoBoundary |
5 |
Без границ (используется весь текст). |
См. такжеQAccessibleTextInterface.
Документация по функциям-членам
[static] QAccessibleInterface *QAccessible::accessibleInterface(QAccessible::Id id)
Возвращает QAccessibleInterface, принадлежащий id.
Возвращает nullptr если id недействительно.
[static] void QAccessible::deleteAccessibleInterface(QAccessible::Id id)
Удаляет интерфейс, принадлежащий данному id, из кэша и удаляет его. Идентификатор становится недействительным и может быть повторно использован кэшем.
[static] void QAccessible::installFactory(QAccessible::InterfaceFactory factory)
Устанавливает InterfaceFactory factory. Последний добавленный фабрикант используется первым в queryAccessibleInterface().
[static] bool QAccessible::isActive()
Возвращает true если платформа запросила информацию об доступности.
Эта функция вернёт false до тех пор, пока инструмент, такой как программа чтения с экрана, не получит доступ к системе доступности. Можно всё ещё использовать QAccessible::queryAccessibleInterface(), даже если доступность не активна. Но уведомления платформе не будут отправлены.
Рекомендуется использовать эту функцию, чтобы предотвратить дорогостоящие уведомления через updateAccessibility(), когда они не нужны.
[static] QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)
Если для данного object существует реализация QAccessibleInterface, эта функция возвращает указатель на реализацию; в противном случае возвращает nullptr.
Функция вызывает все установленные фабричные функции (от недавно установленной до наименее недавно установленной), пока одна не найдёт интерфейс для класса object. Если ни одна фабрика не может предоставить реализацию доступности для класса, функция загружает установленные плагины доступности и проверяет, может ли какой-либо из них предоставить реализацию.
Если реализация для класса объекта недоступна, функция пытается найти реализацию для родительского класса объекта, используя описанную выше стратегию.
Все интерфейсы управляются внутренним кэшем и не должны удаляться.
[static] QAccessible::Id QAccessible::registerAccessibleInterface(QAccessibleInterface *iface)
Вызовите эту функцию, чтобы убедиться, что вручную созданные интерфейсы корректно управляются в памяти.
Должна вызываться только один раз для каждого интерфейса iface. Это неявно вызывается при вызове queryAccessibleInterface, вызов этой функции необходим только когда QAccessibleInterfaces инициализируются с помощью оператора "new". Это не рекомендуется, если возможно, используйте стандартные функции и позвольте queryAccessibleInterface() позаботиться об этом.
Когда необходимо переопределить функцию QAccessibleInterface::child() и вернуть потомка после его создания, необходимо вызвать эту функцию.
[static] void QAccessible::removeFactory(QAccessible::InterfaceFactory factory)
Удаляет factory из списка установленных InterfaceFactories.
[static] void QAccessible::setRootObject(QObject *object)
Устанавливает корневой объект доступных объектов этого приложения в object. Все остальные доступные объекты доступны с помощью навигации по объектам от корневого объекта.
END_OF_DOCUMENT_MARKERОбычно вызывать эту функцию не нужно, потому что Qt устанавливает объект QApplication в качестве корневого объекта сразу перед входом в цикл обработки событий в QApplication::exec().
Используйте QAccessible::installRootObjectHandler(), чтобы перенаправить вызов функции на пользовательскую обработчик функцию.
См. также queryAccessibleInterface().
[static] QAccessible::Id QAccessible::uniqueId(QAccessibleInterface *iface)
Возвращает уникальный идентификатор для QAccessibleInterface iface.
[static] void QAccessible::updateAccessibility(QAccessibleEvent *event)
Уведомляет о изменении, которое может быть существенным для клиентов доступности.
event содержит детали изменения. Они включают источник изменения и характер изменения. Событие event должно содержать достаточную информацию для предоставления осмысленных уведомлений.
Например, тип ValueChange указывает, что положение ползунка было изменено.
Вызывайте эту функцию всякий раз, когда состояние вашего объекта доступности или одного из его подэлементов изменяется, будь то программно (например, вызывая QLabel::setText()) или пользователем.
Если инструменты доступности не следят за этим событием, штраф за производительность при вызове этой функции невелик, но если определение параметров вызова дорогостоящее, вы можете проверить QAccessible::isActive(), чтобы избежать ненужных вычислений.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qaccessible.html