当前位置:   article > 正文

图形视图(13):【类】QGraphicsPixmapItem[官翻]

qgraphicspixmapitem

QGraphicsPixmapItem 类

QGraphicsPixmapItem类提供可添加到QGraphicsScene的像素图项目。

Header:#include < QGraphicsPixmapItem >
qmake:QT += widgets
Inherits:QGraphicsItem
Inherited By:
Since:Qt 4.2

详述

要设置项目的pixmap,可以将QPixmap传递给QGraphicsPixmapItem的构造函数,或者调用setPixmap()函数。函数的作用是:返回当前的像素图。

QGraphicsPixmapItem使用pixmap的可选alpha掩码来提供boundingRect()、shape()和contains()的合理实现。

img

pixmap是在项目的(0,0)坐标处绘制的,由offset()返回。您可以通过调用setOffset()来更改绘图偏移量

你可以通过调用setTransformationMode()来设置像素图的转换模式。默认情况下,使用Qt::FastTransformation,它提供了快速、非平滑的缩放。Qt::SmoothTransformation在画家上启用了QPainter::SmoothPixmapTransform,其质量取决于平台和视口。结果通常不如直接调用QPixmap::scale()好。调用transformationMode()获取项目的当前转换模式。

参见QGraphicsPathItem, qgraphicsrectem, QGraphicsEllipseItem, QGraphicsTextItem, QGraphicsPolygonItem, QGraphicsLineItem,和图形视图框架。

公共类型

enum ShapeMode

该枚举描述了QGraphicsPixmapItem如何计算其形状和不透明区域。默认值为MaskShape。

ConstantValueDescription
MaskShape0形状是通过调用QPixmap::mask()来确定的。此形状仅包含像素图的不透明像素。然而,由于形状更复杂,它可能比其他模式慢,并使用更多的内存。
BoundingRectShape1形状是通过追踪像素图的轮廓来确定的。这是最快的形状模式,但它不考虑像素图上的任何透明区域。
HeuristicMaskShape2形状是通过调用QPixmap::createHeuristicMask()确定的。性能和内存消耗与MaskShape相似。

enum anonymous

由virtual type()函数返回的值。

ConstantValueDescription
Type7图形像素图项

公共函数

构造析构

  1. QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr)
  2. QGraphicsPixmapItem(QGraphicsItem *parent = nullptr)
  3. virtual ~QGraphicsPixmapItem()

偏移

  1. QPointF offset() const
  2. void setOffset(const QPointF &offset)
  3. void setOffset(qreal x, qreal y)

Pixmap

  1. QPixmap pixmap() const
  2. void setPixmap(const QPixmap &pixmap)

转换模式

  1. Qt::TransformationMode transformationMode() const
  2. void setTransformationMode(Qt::TransformationMode mode)

图形模式

  1. QGraphicsPixmapItem::ShapeMode shapeMode() const
  2. void setShapeMode(QGraphicsPixmapItem::ShapeMode mode)

重写的公共函数

  1. virtual QRectF boundingRect() const override
  2. virtual bool contains(const QPointF &point) const override
  3. virtual bool isObscuredBy(const QGraphicsItem *item) const override
  4. virtual QPainterPath opaqueArea() const override
  5. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override
  6. virtual QPainterPath shape() const override
  7. virtual int type() const override
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/297421?site
推荐阅读
相关标签
  

闽ICP备14008679号