Класс QSvgGenerator
Класс QSvgGenerator предоставляет устройство рисования, используемое для создания SVG-рисунков. Подробнее...
| Заголовок: | #include <QSvgGenerator> |
| qmake: | QT += svg |
| С момента: | Qt 4.3 |
| Наследуется от: | QPaintDevice |
Этот класс был введён в Qt 4.3.
Примечание: Все функции в этом классе являются реентерабельными.
Свойства
|
|
Открытые функции
| QSvgGenerator() | |
| virtual | ~QSvgGenerator() |
| QString | описание() const |
| QString | имя файла() const |
| QIODevice * | устройство вывода() const |
| int | разрешение() const |
| void | установитьОписание(const QString &описание) |
| void | установитьИмяФайла(const QString &имяФайла) |
| void | установитьУстройствоВывода(QIODevice *устройствоВывода) |
| void | установитьРазрешение(int dpi) |
| void | установитьРазмер(const QSize &размер) |
| void | установитьЗаголовок(const QString &заголовок) |
| void | установитьОбластьПросмотра(const QRect &областьПросмотра) |
| void | установитьОбластьПросмотра(const QRectF &областьПросмотра) |
| QSize | размер() const |
| QString | заголовок() const |
| QRect | областьПросмотра() const |
| QRectF | областьПросмотраF() const |
Переопределённые защищённые функции
| virtual int | метрика(QPaintDevice::PaintDeviceMetric метрика) const override |
| virtual QPaintEngine * | paintEngine() const override |
Подробное описание
Это устройство рисования представляет собой векторный графический рисунок (SVG). Как и QPrinter, оно спроектировано как устройство только для записи, которое генерирует выходные данные в определённом формате.
Для записи SVG-файла сначала необходимо настроить вывод, задав свойства имя файла или устройство вывода. Обычно необходимо указать размер рисунка, задав свойство размер, а в некоторых случаях, когда рисунок будет включён в другой, необходимо также установить свойство область просмотра.
QSvgGenerator generator;
generator.setFileName(path);
generator.setSize(QSize(200, 200));
generator.setViewBox(QRect(0, 0, 200, 200));
generator.setTitle(tr("SVG Generator Example Drawing"));
generator.setDescription(tr("An SVG drawing created by the SVG Generator "
"Example provided with Qt.")); Другие метаданные могут быть заданы, установив свойства заголовок, описание и разрешение.
Как и в других подклассах QPaintDevice, для рисования на экземпляре этого класса используется объект QPainter:
QPainter painter;
painter.begin(&generator);
...
painter.end(); Рисование выполняется так же, как и для любого другого устройства рисования. Однако необходимо использовать QPainter::begin() и end() для явного начала и окончания рисования на устройстве.
Пример генератора SVG показывает, как одни и те же команды рисования могут использоваться для рисования виджета и записи SVG-файла.
См. также QSvgRenderer, QSvgWidget и Классы Qt SVG на C++.
Документация свойств
description : QString
Это свойство содержит описание сгенерированного SVG-рисунка.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| QString | description() const |
| void | setDescription(const QString &description) |
См. также title.
fileName : QString
Это свойство содержит имя целевого файла для сгенерированного SVG-рисунка.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| QString | fileName() const |
| void | setFileName(const QString &fileName) |
См. также outputDevice.
outputDevice : QIODevice*
Это свойство содержит устройство вывода для сгенерированного SVG-рисунка.
Если указаны и устройство вывода, и имя файла, приоритет будет у устройства вывода.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| QIODevice * | outputDevice() const |
| void | setOutputDevice(QIODevice *outputDevice) |
См. также fileName.
resolution : int
Это свойство содержит разрешение генерируемого вывода.
Разрешение указывается в точках на дюйм и используется для расчета физического размера SVG-рисунка.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| int | resolution() const |
| void | setResolution(int dpi) |
size : QSize
Это свойство содержит размер генерируемого SVG-рисунка.
По умолчанию это свойство установлено в QSize(-1, -1), что указывает генератору не выводить атрибуты ширины и высоты элемента <svg>.
Примечание: Изменить это свойство невозможно, когда на генераторе активен QPainter.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| QSize | size() const |
| void | setSize(const QSize &size) |
См. также viewBox и resolution.
title : QString
Это свойство содержит заголовок сгенерированного SVG-рисунка.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| QString | title() const |
| void | setTitle(const QString &title) |
См. также description.
viewBox : QRectF
Это свойство содержит viewBox сгенерированного SVG-рисунка.
По умолчанию это свойство установлено в QRect(0, 0, -1, -1), что указывает генератору не выводить атрибут viewBox элемента <svg>.
Примечание: Изменить это свойство невозможно, когда на генераторе активен QPainter.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| QRectF | viewBoxF() const |
| void | setViewBox(const QRect &viewBox) |
| void | setViewBox(const QRectF &viewBox) |
См. также viewBox(), size и resolution.
Документация функций-членов
QSvgGenerator::QSvgGenerator()
Создает новый генератор.
[virtual] QSvgGenerator::~QSvgGenerator()
Удаляет генератор.
[override virtual protected] int QSvgGenerator::metric(QPaintDevice::PaintDeviceMetric metric) const
Переопределяет: QPaintDevice::metric(QPaintDevice::PaintDeviceMetric metric) const.
[override virtual protected] QPaintEngine *QSvgGenerator::paintEngine() const
Переопределяет: QPaintDevice::paintEngine() const.
Возвращает движок отрисовки, используемый для преобразования графики в формат SVG.
QRect QSvgGenerator::viewBox() const
Возвращает viewBoxF().toRect().
Эта функция была добавлена в Qt 4.5.
См. также setViewBox() и viewBoxF().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qsvggenerator.html