Spec-Zone.ru › Qt 5.15

Отображение 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 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.15/svgrendering.html

Spec-Zone.ru

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