Spec-Zone.ru › Qt 5.14

Класс QSvgGenerator

Класс QSvgGenerator предоставляет устройство рисования, используемое для создания SVG-рисунков. Подробнее...

Заголовок: #include <QSvgGenerator>
qmake: QT += svg
С момента: Qt 4.3
Наследуется от: QPaintDevice

Этот класс был введён в Qt 4.3.

  • Список всех членов, включая наследуемые

Примечание: Все функции в этом классе являются реентерабельными.

Свойства

  • описание : QString
  • имя файла : QString
  • устройство вывода : QIODevice*
  • разрешение : int
  • размер : QSize
  • заголовок : QString
  • область просмотра : QRectF

Открытые функции

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 и viewBox.

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

Spec-Zone.ru

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