Qt QGraphics查看中心的一个背景图像

时间:2010-11-09 23:31:26

标签: qt qt4 qgraphicsview

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

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

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

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

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

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

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

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