Spec-Zone.ru › Qt 5.6

Класс QSvgRenderer

Класс QSvgRenderer используется для отрисовки содержимого SVG-файлов на устройствах рисования. Подробнее...

Заголовок: #include <QSvgRenderer>
qmake: QT += svg
С момента: Qt 4.1
Наследует: QObject
  • Список всех членов, включая унаследованные

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

Свойства

  • framesPerSecond : int
  • viewBox : QRectF
  • 1 свойство унаследовано от QObject

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

QSvgRenderer(QObject *parent = Q_NULLPTR)
QSvgRenderer(const QString &filename, QObject *parent = Q_NULLPTR)
QSvgRenderer(const QByteArray &contents, QObject *parent = Q_NULLPTR)
QSvgRenderer(QXmlStreamReader *contents, QObject *parent = Q_NULLPTR)
~QSvgRenderer()
bool animated() const
QRectF boundsOnElement(const QString &id) const
QSize defaultSize() const
bool elementExists(const QString &id) const
int framesPerSecond() const
bool isValid() const
QMatrix matrixForElement(const QString &id) const
void setFramesPerSecond(int num)
void setViewBox(const QRect &viewbox)
void setViewBox(const QRectF &viewbox)
QRect viewBox() const
QRectF viewBoxF() const
  • 31 открытая функция унаследована от QObject

Открытые слоты

bool load(const QString &filename)
bool load(const QByteArray &contents)
bool load(QXmlStreamReader *contents)
void render(QPainter *painter)
void render(QPainter *painter, const QRectF &bounds)
void render(QPainter *painter, const QString &elementId, const QRectF &bounds = QRectF())
  • 1 открытый слот унаследован от QObject

Сигналы

void repaintNeeded()
  • 2 сигнала унаследованы от QObject

Дополнительные унаследованные члены

  • 11 статических открытых членов унаследованы от QObject
  • 9 защищенных функций унаследованы от QObject

Подробное описание

Класс QSvgRenderer используется для отрисовки содержимого SVG-файлов на устройствах рисования.

Используя QSvgRenderer, можно отрисовать Scalable Vector Graphics (SVG) на любом устройстве QPaintDevice, включая QWidget, QImage и QGLWidget.

QSvgRenderer предоставляет API, поддерживающий основные функции отрисовки SVG, такие как загрузка и отрисовка статических изображений, а также более интерактивные функции, такие как анимация. Поскольку отрисовка выполняется с использованием QPainter, SVG-рисунки можно отрисовать на любом подклассе QPaintDevice.

SVG-рисунки загружаются либо при создании QSvgRenderer, либо позже с помощью функций load(). Данные предоставляются либо непосредственно как сериализованный XML, либо косвенно с помощью имени файла. Если валидный файл был загружен, либо при создании рендерера, либо впоследствии, isValid() возвращает true; в противном случае возвращает false. QSvgRenderer предоставляет слот render() для отрисовки текущего документа или текущей кадра анимированного документа с помощью заданного рисовальщика.

Функция defaultSize() предоставляет информацию о требуемом пространстве для отрисовки загруженного SVG-файла. Это полезно для устройств рисования, таких как QWidget, которые часто должны предоставлять подсказку размера своему родительскому макету. Размер по умолчанию рисунка может отличаться от видимой области, которая определяется свойством viewBox.

Поддерживаются анимированные SVG-рисунки, которые можно управлять с помощью простых функций и свойств:

  • Функция animated() указывает, содержит ли рисунок информацию об анимации.
  • Свойство framesPerSecond содержит частоту воспроизведения анимации.

Наконец, класс QSvgRenderer предоставляет сигнал repaintNeeded(), который испускается всякий раз, когда требуется обновление отрисовки документа.

См. также QSvgWidget, Qt SVG C++ классы, Пример SVG Viewer и QPicture.

Документация по свойствам

framesPerSecond : int

Это свойство содержит количество кадров в секунду, которое нужно отобразить.

Количество кадров в секунду равно 0, если текущий документ не анимирован.

Функции доступа:

int framesPerSecond() const
void setFramesPerSecond(int num)

См. также animated().

viewBox : QRectF

Это свойство содержит прямоугольник, определяющий видимую область документа в логических координатах.

Это свойство было введено в Qt 4.2.

Функции доступа:

QRectF viewBoxF() const
void setViewBox(const QRect &viewbox)
void setViewBox(const QRectF &viewbox)

Документация по функциям-членам

QSvgRenderer::QSvgRenderer(QObject *parent = Q_NULLPTR)

Создает новый рендерер с указанным parent.

QSvgRenderer::QSvgRenderer(const QString &filename, QObject *parent = Q_NULLPTR)

Создает новый рендерер с заданным parent и загружает содержимое файла SVG с указанным filename.

QSvgRenderer::QSvgRenderer(const QByteArray &contents, QObject *parent = Q_NULLPTR)

Создаёт новый рендерер с заданным parent и загружает данные SVG из массива байтов, указанного в contents.

QSvgRenderer::QSvgRenderer(QXmlStreamReader *contents, QObject *parent = Q_NULLPTR)

Создаёт новый рендерер с заданным parent и загружает данные SVG, используя ридер потока, указанный в contents.

Эта функция была добавлена в Qt 4.5.

QSvgRenderer::~QSvgRenderer()

Уничтожает рендерер.

bool QSvgRenderer::animated() const

Возвращает true, если текущий документ содержит анимированные элементы; в противном случае возвращает false.

См. также framesPerSecond().

QRectF QSvgRenderer::boundsOnElement(const QString &id) const

Возвращает прямоугольник ограничивающей рамки элемента с заданным id. Матрица преобразования родительских элементов не влияет на пределы элемента.

Эта функция была добавлена в Qt 4.2.

См. также matrixForElement().

QSize QSvgRenderer::defaultSize() const

Возвращает размер по умолчанию содержимого документа.

bool QSvgRenderer::elementExists(const QString &id) const

Возвращает true, если элемент с заданным id существует в текущем анализируемом файле SVG и является рендерируемым элементом.

Примечание: этот метод возвращает true только для элементов, которые могут быть отрисованы. Это означает, что элементы, которые считаются частью свойств заливки/контура, например, радиальные градиенты, даже если они помечены атрибутами «id», не будут найдены этим методом.

Эта функция была добавлена в Qt 4.2.

bool QSvgRenderer::isValid() const

Возвращает true, если существует допустимый текущий документ; в противном случае возвращает false.

bool QSvgRenderer::load(const QString &filename)

Загружает файл SVG, указанный filename, возвращая true, если содержимое было успешно проанализировано; в противном случае возвращает false.

bool QSvgRenderer::load(const QByteArray &contents)

Загружает указанное содержимое формата SVG, contents, возвращая true, если содержимое было успешно проанализировано; в противном случае возвращает false.

bool QSvgRenderer::load(QXmlStreamReader *contents)

Загружает указанный SVG в contents, возвращая true, если содержимое было успешно проанализировано; в противном случае возвращает false.

Чтение будет происходить с текущей позиции. Если contents null, поведение не определено.

Эта функция была добавлена в Qt 4.5.

QMatrix QSvgRenderer::matrixForElement(const QString &id) const

Возвращает матрицу преобразования для элемента с заданным id. Матрица является произведением преобразований родительских элементов. Преобразование самого элемента не включено.

Для нахождения прямоугольника ограничивающей рамки элемента в логических координатах, вы можете применить матрицу к прямоугольнику, возвращаемому из boundsOnElement().

Эта функция была добавлена в Qt 4.2.

См. также boundsOnElement().

void QSvgRenderer::render(QPainter *painter)

Отображает текущий документ или текущую кадр анимированного документа, используя предоставленного painter.

void QSvgRenderer::render(QPainter *painter, const QRectF &bounds)

Отображает текущий документ или текущую кадр анимированного документа, используя заданный painter в указанном bounds в пределах художника. Если прямоугольник ограничивающей рамки не указан, файл SVG отображается на всё устройство рисования.

void QSvgRenderer::render(QPainter *painter, const QString &elementId, const QRectF &bounds = QRectF())

Отображает заданный элемент с elementId, используя заданный painter в указанном bounds. Если прямоугольник ограничивающей рамки не указан, SVG элемент отображается на всё устройство рисования.

void QSvgRenderer::repaintNeeded()

Этот сигнал испускается всякий раз, когда требуется обновить отрисовку документа, обычно для целей анимации.

QRect QSvgRenderer::viewBox() const

Возвращает viewBoxF().toRect().

См. также setViewBox() и viewBoxF().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qsvgrenderer.html

Spec-Zone.ru

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