Spec-Zone.ru › Qt 5.6

Класс QGraphicsSvgItem

Класс QGraphicsSvgItem — это QGraphicsItem, который может использоваться для рендеринга содержимого файлов SVG. Подробнее...

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

Свойства

  • elementId : QString
  • maximumCacheSize : QSize
  • 12 свойств, унаследованных от QGraphicsObject
  • 1 свойство, унаследованное от QObject

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

QGraphicsSvgItem(QGraphicsItem *parent = Q_NULLPTR)
QGraphicsSvgItem(const QString &fileName, QGraphicsItem *parent = Q_NULLPTR)
QString elementId() const
QSize maximumCacheSize() const
QSvgRenderer * renderer() const
void setElementId(const QString &id)
void setMaximumCacheSize(const QSize &size)
void setSharedRenderer(QSvgRenderer *renderer)

Переопределённые открытые функции

virtual QRectF boundingRect() const
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR)
virtual int type() const
  • 2 открытых функции, унаследованные от QGraphicsObject
  • 31 открытых функции, унаследованные от QObject
  • 176 открытых функций, унаследованных от QGraphicsItem

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

  • 1 открытый слот, унаследованный от QObject
  • 9 сигналов, унаследованных от QGraphicsObject
  • 2 сигнала, унаследованные от QObject
  • 11 статических открытых членов, унаследованных от QObject
  • 2 статических открытых члена, унаследованные от QGraphicsItem
  • 1 защищённая функция, унаследованная от QGraphicsObject
  • 9 защищённых функций, унаследованных от QObject
  • 24 защищённых функции, унаследованные от QGraphicsItem
  • 1 защищённый слот, унаследованный от QGraphicsObject

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

Класс QGraphicsSvgItem — это QGraphicsItem, который может использоваться для рендеринга содержимого файлов SVG.

QGraphicsSvgItem предоставляет способ рендеринга файлов SVG на QGraphicsView. QGraphicsSvgItem может быть создан путём передачи рендерируемого файла SVG в его конструктор или путём явного задания совместно используемого QSvgRenderer на нём.

Обратите внимание, что установка QSvgRenderer на QGraphicsSvgItem не делает элемент владельцем рендерера, поэтому при использовании метода setSharedRenderer() необходимо убедиться, что жизненный цикл объекта QSvgRenderer будет по крайней мере таким же длительным, как и у QGraphicsSvgItem.

QGraphicsSvgItem предоставляет способ рендеринга только частей файлов SVG с помощью setElementId. Если вызовется метод setElementId(), будет рендерироваться только элемент SVG (и его потомки) с указанным идентификатором. Это обеспечивает удобный способ выборочного рендеринга больших файлов SVG, содержащих ряд отдельных элементов. Например, следующий код рендерит только джокеров из файла SVG, содержащего целую колоду карт:

QSvgRenderer *renderer = new QSvgRenderer(QLatin1String("SvgCardDeck.svg"));
QGraphicsSvgItem *black = new QGraphicsSvgItem();
QGraphicsSvgItem *red   = new QGraphicsSvgItem();

black->setSharedRenderer(renderer);
black->setElementId(QLatin1String("black_joker"));

red->setSharedRenderer(renderer);
red->setElementId(QLatin1String("red_joker"));

Размер элемента можно задать с помощью метода setSize() прямоугольника ограничивающего области или путём прямого изменения матрицы преобразований элемента.

По умолчанию рендеринг SVG кэшируется с помощью режима QGraphicsItem::DeviceCoordinateCache для ускорения отображения элементов. Кэширование можно отключить, передав QGraphicsItem::NoCache методу QGraphicsItem::setCacheMode().

См. также QSvgWidget, Qt SVG классы C++, QGraphicsItem и QGraphicsView.

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

elementId : QString

Это свойство содержит XML идентификатор элемента.

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

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

QString elementId() const
void setElementId(const QString &id)

maximumCacheSize : QSize

Это свойство содержит максимальный размер кэша координат устройства для данного элемента.

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

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

QSize maximumCacheSize() const
void setMaximumCacheSize(const QSize &size)

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

QGraphicsSvgItem::QGraphicsSvgItem(QGraphicsItem *parent = Q_NULLPTR)

Создаёт новый элемент SVG с заданным parent.

QGraphicsSvgItem::QGraphicsSvgItem(const QString &fileName, QGraphicsItem *parent = Q_NULLPTR)

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

[virtual] QRectF QGraphicsSvgItem::boundingRect() const

Переопределена из QGraphicsItem::boundingRect().

Возвращает ограничивающий прямоугольник этого элемента.

QString QGraphicsSvgItem::elementId() const

Возвращает XML идентификатор элемента, который в настоящее время рендерится. Возвращает пустую строку, если рендерится весь файл.

Примечание: Функция-геттер для свойства elementId.

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

QSize QGraphicsSvgItem::maximumCacheSize() const

Возвращает текущий максимальный размер кэша координат устройства для этого элемента. Если элемент кэшируется с помощью режима QGraphicsItem::DeviceCoordinateCache, кэширование пропускается, если расширение элемента в координатах устройства больше максимального размера.

Максимальный размер кэша по умолчанию составляет 1024x768. QPixmapCache::cacheLimit() даёт совокупные границы всего кэша, в то время как maximumCacheSize() относится к максимальному размеру кэша для этого конкретного элемента.

Примечание: Функция-геттер для свойства maximumCacheSize.

См. также setMaximumCacheSize() и QGraphicsItem::cacheMode().

[virtual] void QGraphicsSvgItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR)

Переопределено из QGraphicsItem::paint().

QSvgRenderer *QGraphicsSvgItem::renderer() const

Возвращает текущий используемый QSvgRenderer.

void QGraphicsSvgItem::setElementId(const QString &id)

Устанавливает XML-ID элемента в id.

Примечание: Метод-сеттер для свойства elementId.

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

void QGraphicsSvgItem::setMaximumCacheSize(const QSize &size)

Устанавливает максимальный размер кэша координат устройства элемента в size. Если элемент кэшируется с использованием режима QGraphicsItem::DeviceCoordinateCache, кэширование обходится, если размер элемента в координатах устройства больше, чем size.

Кэш соответствует QPixmap, используемому для кэширования результатов отрисовки. Используйте QPixmapCache::setCacheLimit(), чтобы установить ограничения на весь кэш, и используйте setMaximumCacheSize(), чтобы установить размер кэша для отдельных элементов.

Примечание: Метод-сеттер для свойства maximumCacheSize.

См. также maximumCacheSize() и QGraphicsItem::cacheMode().

void QGraphicsSvgItem::setSharedRenderer(QSvgRenderer *renderer)

Устанавливает renderer в качестве общего QSvgRenderer для элемента. Используя этот метод, можно использовать один и тот же QSvgRenderer для нескольких элементов. Это означает, что файл SVG будет проанализирован только один раз. QSvgRenderer, переданный в этот метод, должен существовать до тех пор, пока этот элемент используется.

[virtual] int QGraphicsSvgItem::type() const

Переопределено из QGraphicsItem::type().

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

Spec-Zone.ru

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