2010-11-09 95 views
3

我的QGraphicsView项目比背景图片大很多,但我希望只能绘制一次背景图片。现在,整个事物充满了这个背景图像的次数,因为它有空间。Qt QGraphics查看中心背景图片

那么,如何强制该背景图像只能被绘制一次到视图的中心?

这是我目前使用的代码:

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

谢谢您的解答!

回答

1

QGraphicsView呈现函数drawBackground()中的背景。此默认实现使用背景画笔填充视图矩形,并提供您所看到的结果。

您可以覆盖drawBackground()以按照您的方式呈现图像,但这意味着继承QGraphicsView

如果这不是一个选项,你可以设置一个QGraphicsPixmapItem在场景中的最低Z顺序与你想要的图像。