Отображение файлов SVG
Qt SVG предоставляет классы для отображения файлов SVG. Для включения определений классов модуля используйте следующую директиву:
#include <QtSvg>
Для компоновки с модулем добавьте эту строку в ваш qmake .pro файл:
QT += svg
Отображение файлов SVG
Scalable Vector Graphics (SVG) — язык для описания двумерной графики и графических приложений в формате XML. SVG 1.1 является рекомендацией W3C и образует основу текущих разработок SVG в Qt. SVG 1.2 — это спецификация, которая в настоящее время разрабатывается рабочей группой SVG Working Group, и она доступна в виде черновика. Мобильные профили SVG (SVG Basic и SVG Tiny) предназначены для устройств с ограниченными ресурсами и являются частью платформы 3GPP для мобильных телефонов третьего поколения. Вы можете узнать больше о SVG на странице О SVG.
Qt поддерживает статические функции SVG 1.2 Tiny. ECMA скрипты и манипуляции с DOM в настоящее время не поддерживаются.
Изображения SVG могут быть отображены на любом подклассе QPaintDevice. Этот подход предоставляет разработчикам гибкость для экспериментов, чтобы найти наилучшее решение для каждого приложения.
Самый простой способ отображения файлов SVG — это создание QSvgWidget и загрузка файла SVG с помощью одной из функций QSvgWidget::load().
QSvgRenderer — это класс, отвечающий за отображение файлов SVG для QSvgWidget, и он может использоваться напрямую для предоставления поддержки SVG для пользовательских виджетов. Для загрузки файла SVG создайте QSvgRenderer с именем файла или содержимым файла, или вызовите QSvgRenderer::load() для существующего рендерера. Если файл SVG загружен успешно, функция QSvgRenderer::isValid() вернет true.
После успешной загрузки файла SVG вы можете отобразить его с помощью функции QSvgRenderer::render(). Обратите внимание, что эта схема позволяет отображать файлы SVG на всех устройствах отрисовки, поддерживаемых Qt, включая QWidget, QGLWidget и QImage. Более подробную информацию см. в примере SVG Viewer.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/svgrendering.html