4

我的QGraphicsView项目比它的背景图像大很多,但我希望该背景图像只绘制一次。现在,整个事物都充满了该背景图像,其空间与它的空间一样多。

那么,如何强制将背景图像仅绘制一次到视图的中心?

这是我目前正在使用的代码:

QPalette palette;
palette.setBrush(this->backgroundRole(),QBrush(*myImage));
this->setPalette(palette);

谢谢您的回答!

4

1 回答 1

2

QGraphicsView渲染函数中的背景drawBackground()。这个的默认实现使用背景画笔填充视图矩形,给出您所看到的结果。

您可以覆盖drawBackground()以按照您想要的方式渲染图像,但这意味着子类化QGraphicsView

如果这不是一个选项,您可以将 a 设置QGraphicsPixmapItem为场景中具有所需图像的最低 Z 顺序。

于 2010-11-10T01:44:31.540 回答