Spec-Zone.ru › Qt 5.11

Класс 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
  • 5 открытых функций унаследовано от QGraphicsObject
  • 176 открытых функций унаследовано от QGraphicsItem
  • 34 открытых функций унаследовано от QObject

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

  • 1 открытый слот унаследован от QObject
  • 9 сигналов унаследовано от QGraphicsObject
  • 2 сигнала унаследовано от QObject
  • 1 открытая переменная унаследована от QGraphicsObject
  • 1 открытая переменная унаследована от QObject
  • 2 статических открытых членов унаследовано от QGraphicsObject
  • 10 статических открытых членов унаследовано от QObject
  • 1 защищенный метод унаследован от QGraphicsObject
  • 24 защищенных метода унаследовано от QGraphicsItem
  • 9 защищенных методов унаследовано от QObject
  • 1 защищенный слот унаследован от QGraphicsObject
  • 1 защищенный тип унаследован от QGraphicsItem
  • 2 защищенных переменных унаследовано от QObject

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

Класс 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.

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

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

Примечание: Функция-геттер для свойства 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 элемента в 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/archives/qt-5.11/qgraphicssvgitem.html

Spec-Zone.ru

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