Spec-Zone.ru › Qt 5.11

Отображение файлов 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, и она доступна в виде черновика. Профили мобильного 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/archives/qt-5.11/svgrendering.html

Spec-Zone.ru

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