Spec-Zone.ru › Qt 5.12

Класс QGraphicsSvgItem

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

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

Открытые типы

перечисление безымянный { Type }

Свойства

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

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

QGraphicsSvgItem(QGraphicsItem *parent = nullptr)
QGraphicsSvgItem(const QString &fileName, QGraphicsItem *parent = 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 = nullptr) override
virtual int type() const override
  • 2 открытых функции, унаследованные от QGraphicsObject
  • 176 открытых функций, унаследованных от QGraphicsItem
  • 31 открытых функций, унаследованных от QObject

Статические открытые члены

const QMetaObject staticMetaObject
  • 9 статических открытых членов, унаследованных от QObject

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

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

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

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

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

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

QGraphicsSvgItem предоставляет способ отрисовки только частей SVG-файлов с помощью setElementId. Если вызван метод setElementId(), будет отрисован только SVG-элемент (и его потомки) с указанным id. Это удобный способ выборочной отрисовки больших 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.

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

перечисление QGraphicsSvgItem::безымянный

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

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 = nullptr)

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

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

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

[override virtual] QRectF QGraphicsSvgItem::boundingRect() const

Переопределяет функцию QGraphicsItem::boundingRect().

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

QString QGraphicsSvgItem::elementId() const

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

Примечание: Функция-геттер для свойства 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 = nullptr)

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

QSvgRenderer *QGraphicsSvgItem::renderer() const

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

void QGraphicsSvgItem::setElementId(const QString &id)

Устанавливает XML-идентификатор элемента в 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.12/qgraphicssvgitem.html

Spec-Zone.ru

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