我的QGraphicsView
项目比其背景图像大得多,但我希望该背景图像仅绘制一次。现在整个视图中填充了该背景图像,因为有足够的空间。
那么,如何强制该背景图像仅绘制一次并位于视图中心?
以下是我目前正在使用的代码:
QPalette palette;
palette.setBrush(this->backgroundRole(),QBrush(*myImage));
this->setPalette(palette);
感谢您的回答!
我的QGraphicsView
项目比其背景图像大得多,但我希望该背景图像仅绘制一次。现在整个视图中填充了该背景图像,因为有足够的空间。
那么,如何强制该背景图像仅绘制一次并位于视图中心?
以下是我目前正在使用的代码:
QPalette palette;
palette.setBrush(this->backgroundRole(),QBrush(*myImage));
this->setPalette(palette);
QGraphicsView
在函数 drawBackground()
中呈现背景。默认实现会使用背景画刷填充视图矩形,导致您看到的结果。drawBackground()
以自己想要的方式呈现图像,但这意味着必须对 QGraphicsView
进行子类化。QGraphicsPixmapItem
,并使用您想要的图像。