Класс QAccessible
Класс QAccessible предоставляет перечисления и статические функции, связанные с доступностью. Подробнее...
| Заголовок: | #include <QAccessible> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
Типы публичного доступа
| Структура | State |
| Перечисление | Event { AcceleratorChanged, ActionChanged, ActiveDescendantChanged, Alert, AttributeChanged, …, VisibleDataChanged } |
| Id | |
| InterfaceFactory | |
| Перечисление | InterfaceType { TextInterface, ValueInterface, ActionInterface, TableInterface, TableCellInterface } |
| Флаги | Relation |
| Перечисление | RelationFlag { Label, Labelled, Controller, Controlled, AllRelations } |
| Перечисление | Role { AlertMessage, Animation, Application, Assistant, Border, …, Window } |
| Перечисление | Text { Name, Description, Value, Help, Accelerator, UserText } |
| Перечисление | TextBoundaryType { CharBoundary, WordBoundary, SentenceBoundary, ParagraphBoundary, LineBoundary, NoBoundary } |
Статические публичные члены
| 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 и стандарт 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::Event
Это перечисление определяет типы событий доступности.
| Константа | Значение | Описание |
|---|---|---|
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 |
Объектом воспроизведен звук. Это значение используется внутри для QAccessibleStateChangeEvent. |
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.
QAccessible::Id
Синоним для unsigned, используемый кэшем QAccessibleInterface.
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.
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, из кэша и удаляет его. 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(), чтобы перенаправить вызов функции на пользовательскую функцию-обработчик.
См. также 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-6.1/qaccessible.html