Qt4 如何阻止背景在事件中重复

Qt4 如何阻止背景在事件中重复,qt4,qpainter,qpixmap,paintevent,Qt4,Qpainter,Qpixmap,Paintevent,我有一个paintEvent,每次我画东西的时候都会添加背景, 问题是我需要图像停止重复 例如,如果我的背景图像是20像素x 20像素,而我的 绘制区域是40像素x 40像素,背景是4幅图像,我只需要一幅 这是我的密码 1. QPainter painter; // painter for the canvas 2. painter.begin(this); 3. QPixmap backgroundImage; 4. backgroundImage.load("multimedia/monit

我有一个paintEvent,每次我画东西的时候都会添加背景, 问题是我需要图像停止重复

例如,如果我的背景图像是20像素x 20像素,而我的 绘制区域是40像素x 40像素,背景是4幅图像,我只需要一幅

这是我的密码

1. QPainter painter; // painter for the canvas
2. painter.begin(this);
3. QPixmap backgroundImage;
4. backgroundImage.load("multimedia/monitor_image.png");
5. painter.fillRect(event->rect(), QBrush(backgroundImage));

谢谢你的帮助

有一系列功能可用于帮助缩放图片:

如果你知道高度,试试“scaleToHeight”

像这样的方法应该会奏效:

backgroundImage = backgroundImage.scaledToHeight(painter.height);
在调用fillRect之前,请这样做,如果它是一个完美的正方形,则不应出现问题