Spec-Zone.ru › Qt 5.6

Рендеринг файлов 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/archives/qt-5.6/svgrendering.html

Spec-Zone.ru

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