Класс QGraphicsPixmapItem
Класс QGraphicsPixmapItem предоставляет элемент пиктограммы, который можно добавить в QGraphicsScene. Подробнее...
| Заголовок: | #include <QGraphicsPixmapItem> |
| qmake: | QT += widgets |
| С тех пор: | Qt 4.2 |
| Наследует: | QGraphicsItem |
Этот класс был введён в Qt 4.2.
Открытые типы
| перечисление | ShapeMode { MaskShape, BoundingRectShape, HeuristicMaskShape } |
| перечисление | anonymous { Type } |
Открытые функции
| QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr) | |
| QGraphicsPixmapItem(QGraphicsItem *parent = nullptr) | |
| virtual | ~QGraphicsPixmapItem() |
| QPointF | offset() const |
| QPixmap | pixmap() const |
| void | setOffset(const QPointF &offset) |
| void | setOffset(qreal x, qreal y) |
| void | setPixmap(const QPixmap &pixmap) |
| void | setShapeMode(QGraphicsPixmapItem::ShapeMode mode) |
| void | setTransformationMode(Qt::TransformationMode mode) |
| QGraphicsPixmapItem::ShapeMode | shapeMode() const |
| Qt::TransformationMode | transformationMode() const |
Переопределённые открытые функции
| virtual QRectF | boundingRect() const override |
| virtual bool | contains(const QPointF &point) const override |
| virtual bool | isObscuredBy(const QGraphicsItem *item) const override |
| virtual QPainterPath | opaqueArea() const override |
| virtual void | paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override |
| virtual QPainterPath | shape() const override |
| virtual int | type() const override |
Подробное описание
Чтобы задать пиктограмму элемента, передайте QPixmap в конструктор QGraphicsPixmapItem или вызовите функцию setPixmap(). Функция pixmap() возвращает текущую пиктограмму.
QGraphicsPixmapItem использует необязательную альфа-маску пиктограммы, чтобы обеспечить разумную реализацию boundingRect(), shape() и contains().
Пиктограмма рисуется в координатах элемента (0, 0), как возвращается функцией offset(). Можно изменить смещение рисования, вызвав setOffset().
Можно задать режим преобразования пиктограммы, вызвав setTransformationMode(). По умолчанию используется Qt::FastTransformation, который обеспечивает быстрое, но негладкое масштабирование. Qt::SmoothTransformation включает QPainter::SmoothPixmapTransform в рисовальщике, а качество зависит от платформы и области просмотра. Результат обычно не так хорош, как при прямом вызове QPixmap::scale(). Вызовите transformationMode(), чтобы получить текущий режим преобразования для элемента.
См. также QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsTextItem, QGraphicsPolygonItem, QGraphicsLineItem и Фреймворк графического просмотра.
Документация по типам членов
перечисление QGraphicsPixmapItem::ShapeMode
Это перечисление описывает, как QGraphicsPixmapItem вычисляет свою форму и область непрозрачности.
Значение по умолчанию — MaskShape.
| Константа | Значение | Описание |
|---|---|---|
QGraphicsPixmapItem::MaskShape |
0 |
Форма определяется вызовом QPixmap::mask(). Эта форма включает только непрозрачные пиксели пиктограммы. Однако, поскольку форма более сложная, она может быть медленнее, чем другие режимы, и использует больше памяти. |
QGraphicsPixmapItem::BoundingRectShape |
1 |
Форма определяется прослеживанием контура пиктограммы. Это самый быстрый режим формы, но он не учитывает прозрачные области на пиктограмме. |
QGraphicsPixmapItem::HeuristicMaskShape |
2 |
Форма определяется вызовом QPixmap::createHeuristicMask(). Производительность и потребление памяти аналогичны MaskShape. |
перечисление QGraphicsPixmapItem::anonymous
Значение, возвращаемое виртуальной функцией type().
| Константа | Значение | Описание |
|---|---|---|
QGraphicsPixmapItem::Type |
7 |
Элемент графической пиктограммы |
Документация по функциям членов
QGraphicsPixmapItem::QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr)
Конструирует QGraphicsPixmapItem, используя pixmap в качестве пиктограммы по умолчанию. parent передаётся конструктору QGraphicsItem.
См. также QGraphicsScene::addItem().
QGraphicsPixmapItem::QGraphicsPixmapItem(QGraphicsItem *parent = nullptr)
Конструирует QGraphicsPixmapItem. parent передаётся конструктору QGraphicsItem.
См. также QGraphicsScene::addItem().
[virtual] QGraphicsPixmapItem::~QGraphicsPixmapItem()
Удаляет QGraphicsPixmapItem.
[override virtual] QRectF QGraphicsPixmapItem::boundingRect() const
Переопределяет: QGraphicsItem::boundingRect() const.
[override virtual] bool QGraphicsPixmapItem::contains(const QPointF &point) const
Переопределяет: QGraphicsItem::contains(const QPointF &point) const.
[override virtual] bool QGraphicsPixmapItem::isObscuredBy(const QGraphicsItem *item) const
Переопределяет: QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.
QPointF QGraphicsPixmapItem::offset() const
Возвращает смещение элемента pixmap, которое определяет точку верхнего левого угла pixmap в локальных координатах.
См. также setOffset().
[override virtual] QPainterPath QGraphicsPixmapItem::opaqueArea() const
Переопределяет: QGraphicsItem::opaqueArea() const.
[override virtual] void QGraphicsPixmapItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
Переопределяет: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).
QPixmap QGraphicsPixmapItem::pixmap() const
Возвращает pixmap элемента или недействительную QPixmap, если pixmap не задана.
См. также setPixmap().
void QGraphicsPixmapItem::setOffset(const QPointF &offset)
Устанавливает смещение элемента pixmap в offset. QGraphicsPixmapItem будет отрисовывать pixmap, используя offset для верхнего левого угла.
См. также offset().
void QGraphicsPixmapItem::setOffset(qreal x, qreal y)
Эта вспомогательная функция эквивалентна вызову setOffset(QPointF(x, y)).
Эта функция была добавлена в Qt 4.3.
void QGraphicsPixmapItem::setPixmap(const QPixmap &pixmap)
Устанавливает pixmap элемента в pixmap.
См. также pixmap().
void QGraphicsPixmapItem::setShapeMode(QGraphicsPixmapItem::ShapeMode mode)
Устанавливает режим формы элемента в mode. Режим формы описывает, как QGraphicsPixmapItem рассчитывает свою форму. По умолчанию используется режим MaskShape.
См. также shapeMode() и ShapeMode.
void QGraphicsPixmapItem::setTransformationMode(Qt::TransformationMode mode)
Устанавливает режим преобразования элемента pixmap в mode и инициирует обновление элемента. По умолчанию используется режим Qt::FastTransformation, обеспечивающий быстрое преобразование без сглаживания.
Qt::SmoothTransformation включает QPainter::SmoothPixmapTransform в рисовальщике, и качество зависит от платформы и области просмотра. Результат обычно не так хорош, как при непосредственном вызове QPixmap::scale().
См. также transformationMode().
[override virtual] QPainterPath QGraphicsPixmapItem::shape() const
Переопределяет: QGraphicsItem::shape() const.
QGraphicsPixmapItem::ShapeMode QGraphicsPixmapItem::shapeMode() const
Возвращает режим формы элемента. Режим формы описывает, как QGraphicsPixmapItem рассчитывает свою форму. По умолчанию используется режим MaskShape.
См. также setShapeMode() и ShapeMode.
Qt::TransformationMode QGraphicsPixmapItem::transformationMode() const
Возвращает режим преобразования pixmap. По умолчанию используется режим Qt::FastTransformation, который обеспечивает быстрое преобразование без сглаживания.
См. также setTransformationMode().
[override virtual] int QGraphicsPixmapItem::type() const
Переопределяет: QGraphicsItem::type() const.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qgraphicspixmapitem.html