Spec-Zone.ru › Qt 5.9

Класс 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 override
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) override
virtual int type() const override
  • 2 открытых функции, унаследованные от QGraphicsObject
  • 32 открытых функции, унаследованные от 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"));

Размер элемента можно установить, напрямую манипулируя матрицей преобразования элемента.

По умолчанию рендеринг 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.

[override 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().

[override 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, переданный в этот метод, должен существовать до тех пор, пока этот элемент используется.

[override 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/qt-5.9/qgraphicssvgitem.html

Spec-Zone.ru

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