Класс 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
Возвращает режим преобразования 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-6.1/qgraphicspixmapitem.html