Spec-Zone.ru › Qt 5.12

Рендеринг файлов 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 на странице About 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-5.12/svgrendering.html

Spec-Zone.ru

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