Класс QAccessible
Класс QAccessible предоставляет перечисления и статические функции, связанные с доступностью. Подробнее...
| Заголовок: | #include <QAccessible> |
| qmake: | QT += gui |
Типы публичного доступа
| класс | Состояние |
| перечисление | Событие { AcceleratorChanged, ActionChanged, ActiveDescendantChanged, Alert, ..., VisibleDataChanged } |
| 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) |
| const QMetaObject | staticMetaObject |
| 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.
В реализации Unix/X11 AT-SPI приложения становятся доступными, когда выполняются два условия:
- Свойство DBus org.a11y.Status.IsEnabled равно true
- Свойство DBus org.a11y.Status.ScreenReaderEnabled равно 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::Событие
Это перечисление определяет типы событий доступности.
| Константа | Значение | Описание |
|---|---|---|
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, возвращается null-указатель.
Установленные фабрики вызываются методом 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.
Возвращает nullptr если 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, эта функция возвращает указатель на реализацию; в противном случае возвращает 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. Все другие доступные объекты доступны с помощью навигации по объектам от корневого объекта.
Обычно вызывать эту функцию не нужно, так как 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/qt-5.12/qaccessible.html