Класс QAccessible
Класс QAccessible предоставляет перечисления и статические функции, связанные с доступностью. Подробнее...
| Заголовок: | #include <QAccessible> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
Типы публичного интерфейса
| Структура | State |
| Перечисление | Event { Изменение ускорителя, Изменение действия, Изменение активного дочернего элемента, Предупреждение, Изменение атрибута, …, Изменение видимых данных } |
| Id | |
| InterfaceFactory | |
| Перечисление | InterfaceType { Интерфейс текста, Интерфейс значения, Интерфейс действия, Интерфейс таблицы, Интерфейс ячейки таблицы } |
| Флаги | Relation |
| Перечисление | RelationFlag { Метка, Имеет метку, Контроллер, Управляемый, Все отношения } |
| Перечисление | Role { Сообщение предупреждения, Анимация, Приложение, Помощник, Граница, …, Окно } |
| Перечисление | Text { Имя, Описание, Значение, Справка, Ускоритель, Пользовательский текст } |
| Перечисление | TextBoundaryType { Граница символа, Граница слова, Граница предложения, Граница абзаца, Граница строки, Нет границы } |
Статические публичные члены
| 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 приложения становятся доступными, когда выполняются два условия:
- Свойство 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::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 |
Объектом воспроизведён звук. |
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>. Он хранит объединение по оператору OR значений 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 |
Поле ввода со списком, позволяющее пользователю ввести значение в заданном диапазоне. |
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.0/qaccessible.html