Класс 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) |
Подробное описание
Класс QAccessible предоставляет перечисления и статические функции, связанные с доступностью.
Этот класс является частью Доступности для приложений QWidget.
Доступные приложения могут использоваться людьми, которые не могут использовать приложения традиционными способами.
Функции в этом классе используются для связи между доступными приложениями (также называемыми серверами AT) и средствами доступности (клиентами AT), такими как программы чтения с экрана и брайлевские дисплеи. Клиенты и серверы общаются следующим образом:
- Серверы AT уведомляют клиентов о событиях с помощью вызовов функции updateAccessibility().
- Клиенты AT запрашивают информацию об объектах на сервере. Класс QAccessibleInterface является основным интерфейсом и инкапсулирует эту информацию в чистый виртуальный API. Реализации интерфейса предоставляются Qt через API queryAccessibleInterface().
Связь между серверами и клиентами инициализируется функцией setRootObject(). Функциональные указатели могут быть установлены для замены или расширения стандартного поведения статических функций в классе QAccessible.
Qt поддерживает Microsoft Active Accessibility (MSAA), доступность macOS и стандарт AT-SPI для Unix/X11. Другие бэкэнды могут быть поддержаны с помощью QAccessibleBridge.
В реализации AT-SPI для Unix/X11 приложения становятся доступными, когда выполняются два условия:
- Свойство 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::Событие
Это перечисление определяет типы событий доступности.
Внутреннее: используется при создании подклассов QAccessibleEvent.
| Константа | Значение | Описание |
|---|---|---|
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::State) объекта изменилось. Это значение используется внутри для QAccessibleStateChangeEvent. |
QAccessible::TableCaptionChanged |
0x0113 |
Изменена подпись таблицы. |
QAccessible::TableColumnDescriptionChanged |
0x0114 |
Изменено описание столбца таблицы, обычно находящееся в заголовке столбца. |
QAccessible::TableColumnHeaderChanged |
0x0115 |
Изменён заголовок столбца таблицы. Изменён модель, обеспечивающая данные для таблицы. |
QAccessible::TableRowDescriptionChanged |
0x0117 |
Изменено описание строки таблицы, обычно находящееся в заголовке строки. |
QAccessible::TableRowHeaderChanged |
0x0118 |
Изменён заголовок строки таблицы. |
QAccessible::TableSummaryChanged |
0x0119 |
Изменено содержимое таблицы. Курсор сместился в редактируемом виджете. Курсор представляет положение курсора в редактируемом виджете с фокусом ввода. |
QAccessible::TextColumnChanged |
0x011D |
Изменено текстовое поле. Текст был вставлен в редактируемый виджет. Текст был удалён из редактируемого виджета. Выделенный текст был изменён в редактируемом виджете. Текст был обновлён в редактируемом виджете. Изменилось значение QAccessible::Value объекта. |
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, будет возвращён нулевой указатель.
Установленные фабрики вызываются функцией 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.
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::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 |
Виджет типа поля ввода со списком, позволяющий пользователю вводить значения в заданном диапазоне. |
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.
Возвращает 0, если id недействительно.
[static] void QAccessible::deleteAccessibleInterface(QAccessible::Id 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, эта функция возвращает указатель на неё; в противном случае она возвращает 0.
Функция вызывает все установленные фабричные функции (от недавно установленных к менее недавно установленным), пока не найдёт такую, которая предоставляет интерфейс для класса 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. Все остальные доступные объекты доступны с помощью навигации по объектам от корневого объекта.
Обычно вызывать эту функцию не нужно, так как Qt устанавливает объект QApplication в качестве корневого объекта сразу перед входом в цикл обработки событий в QApplication::exec().
Используйте QAccessible::installRootObjectHandler(), чтобы перенаправить вызов функции на настраиваемую обработку.
END_OF_DOCUMENT_MARKERСм. также 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/archives/qt-5.11/qaccessible.html