Описание класса QGraphicsSvgItem
|
QGraphicsSvgItem ( QGraphicsItem * parent = 0 ) | |
QGraphicsSvgItem ( const QString & fileName, QGraphicsItem * parent = 0 ) | |
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 = 0 ) |
virtual int | type () const |
Класс 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"));
Размер элемента может быть установлен с помощью метода setSize() или с помощью прямого управления матрицей преобразования элементов.
По умолчанию отрисовка SVG кэшируется с использованием режима QGraphicsItem::DeviceCoordinateCache для ускорения отображения элементов. Кэширование может быть отключено передачей QGraphicsItem::NoCache в метод QGraphicsItem::setCacheMode().
Смотрите также QSvgWidget, Модуль QtSvg, QGraphicsItem и QGraphicsView.
Это свойство содержит идентификатор (ID) элемента.
Это свойство было введено в Qt 4.6.
Функции доступа:
QString | elementId () const |
void | setElementId ( const QString & id ) |
Это свойство содержит максимальный размер кэша в координатах устройства для данного элемента.
Это свойство было введено в Qt 4.6.
Функции доступа:
QSize | maximumCacheSize () const |
void | setMaximumCacheSize ( const QSize & size ) |
Создаёт новый элемент SVG с заданным родителем parent.
Создаёт новый элемент с указанным родителем parent и загружает содержимое файла SVG с указанным именем fileName.
Переопределено из QGraphicsItem::boundingRect().
Возвращает ограничивающий прямоугольник этого элемента.
Переопределено из QGraphicsItem::paint().
Возвращает используемый в настоящее время QSvgRenderer.
Устанавливает renderer для разделения QSvgRenderer с элементом. Используя этот метод можно разделить один и тот же QSvgRenderer с несколькими элементами. Это значит что файл SVG будет прочитан только один раз. QSvgRenderer, передаваемый в этот метод, должен существовать пока используется этот элемент.
Переопределено из QGraphicsItem::type().
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |