Spec-Zone.ru › Qt 5.14

Точки расширения C++ в Qt Quick

Все приложения QML могут быть расширены с помощью C++ для использования дополнительной функциональности, реализованной на C++ или для предоставления плагина QML на основе C++. Эта тема расширения QML из C++ освещена в документации Интегрирование QML и C++.

Кроме того, модуль Qt Quick предоставляет несколько точек расширения и интеграции для разработчиков C++, специфичных для данного модуля. В частности, он позволяет разработчикам C++ создавать и регистрировать пользовательские типы, производные от QQuickItem, которые могут быть отображены Qt Quick. Он также предоставляет несколько классов, связанных с деревом сцены, которые позволяют разработчикам определять собственные примитивы отображения.

Пользовательские типы, производные от QQuickItem

Хотя модуль Qt Quick уже предоставляет богатую библиотеку типов визуальных элементов для использования в приложении QML, некоторые разработчики могут захотеть определить собственные типы, производные от элементов, в C++ и предоставить их системе типов QML. Самый простой способ сделать это — наследоваться от QQuickItem, который является базовым типом для всех визуальных типов в модуле Qt Quick. Подробности см. в документации QQuickItem.

Классы, связанные с деревом сцены

Qt Quick 2 использует специализированное дерево сцены на основе OpenGL ES 2.0 или OpenGL 2.0 для отображения. Использование дерева сцены для графики вместо традиционных императивных систем рисования (QPainter и аналогичных) означает, что сцену, подлежащую отображению, можно сохранить между кадрами, и весь набор примитивов для отображения известен перед началом отображения. Это открывает возможности для ряда оптимизаций, таких как объединение вызовов рисования OpenGL для минимизации изменений состояния или отбрасывание скрытых примитивов.

API C++ модуля Qt Quick предоставляет различные классы для создания пользовательских узлов в C++.

Подробности см. в документации Дерево сцены Qt Quick.

Поддержка пиксельных растровых изображений и потоковой обработки изображений

Хотя движок QML позволяет приложениям QML загружать изображения из файловой системы или сетевых ресурсов, некоторые приложения могут потребовать дополнительной возможности загрузки изображений из процессов на основе C++. Это может быть реализовано с помощью класса QQuickImageProvider, который обеспечивает поддержку загрузки пиксельных растровых изображений и потоковых запросов изображений для приложений QML. Любое приложение QML, запрашивающее изображение через специальную схему URL «image:», будет направлено к соответствующему поставщику изображений для загрузки изображения.

Дополнительную информацию см. в документации QQuickImageProvider.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qtquick-cppextensionpoints.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API