QGraphicsPixmapItem 类提供了一个 pixmap 项,您可以将其添加到 QGraphicsScene 中。
要设置项目的像素图,请将 QPixmap 传递给 QGraphicsPixmapItem 的构造函数,或调用 setPixmap() 函数。 pixmap() 函数返回当前的像素图。
QGraphicsPixmapItem 使用 pixmap 的可选 alpha 蒙版,以合理地实现 boundingRect() , shape() 和 contains() 。
像素图是在项目的坐标处绘制的,由 offset() 返回。您可以通过调用 setOffset() 来更改图形偏移汪睁亏。
您可以通过调用setTransformationMode() 来设置像素图的转换模式。默认情况下,使用 FastTransformation ,它提供了快速,平滑的缩放困神比例。 SmoothTransformation 在 painter 上启用 SmoothPixmapTransform ,其质量取决于平台和视口。结果通常不如直接调用 QPixmap::scale() 好。调用 transformationMode() 以获取该早旁项目的当前转换模式。
QGraphicsPixmapItem([ parent=None ]) :其中 parent 即 QGraphicsItem 的实例。
下面写一个使用案例:
效果:
可以使用setSceneRect()设置QGraphicsScene的大猛基小。如果不设置,则默认悉核为scene中包含枝陆谨所有子元素的边界区域( itemsBoundingRect()函数的返回值)。更详细的说明参看QGraphicsScene的文档,讲解很详细,看下面这段:
The scene's bounding rect is set by calling setSceneRect(). Items can be placed at any position on the scene, and the size of the scene is by default unlimited. The scene rect is used only for internal bookkeeping, maintaining the scene's item index. If the scene rect is unset, QGraphicsScene will use the bounding area of all items, as returned by itemsBoundingRect(), as the scene rect. However, itemsBoundingRect() is a relatively time consuming function, as it operates by collecting positional information for every item on the scene. Because of this, you should always set the scene rect when operating on large scenes.
你少大伍写了个参数当然报错,侍磨可以老仿斗这样QTransform transform
qDebug() <<scene.itemAt(50,50,tranform)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)