Класс QGraphicsPixmapItem
Класс QGraphicsPixmapItem предоставляет элемент пиктограммы, который можно добавить в QGraphicsScene. Подробнее...
| Заголовок: | #include <QGraphicsPixmapItem> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QGraphicsItem |
Типы публичного доступа
| перечисление | ShapeMode { MaskShape, BoundingRectShape, HeuristicMaskShape } |
| перечисление | anonymous { Type } |
Публичные функции
| QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr) | |
| QGraphicsPixmapItem(QGraphicsItem *parent = nullptr) | |
| виртуальный | ~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 |
Переопределенные публичные функции
| виртуальный QRectF | boundingRect() const override |
| виртуальный bool | contains(const QPointF &point) const override |
| виртуальный bool | isObscuredBy(const QGraphicsItem *item) const override |
| виртуальный QPainterPath | opaqueArea() const override |
| виртуальный void | paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override |
| виртуальный QPainterPath | shape() const override |
| виртуальный 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)).
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
Возвращает режим преобразования изображения. Режим по умолчанию — 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-6.2/qgraphicspixmapitem.html