Есть QGraphicsView, требуется чтобы его задний фон не зависел от масштабирования и скроллинга. То есть всегда отображался одинаково. картинка оригинал
для прорисовки фона используется такой код:
void MainView::drawBackground(QPainter *painter, const QRectF &rect)
{
painter->save();
QLinearGradient backgroundGradient(rect.left(),rect.top(),rect.left(),rect.bottom());
backgroundGradient.setColorAt(0, QColor(170, 185, 220));
backgroundGradient.setColorAt(1, QColor(240, 240, 250));
painter->setPen(QPen(Qt::NoPen));
painter->setBrush(QBrush(backgroundGradient));
painter->drawRect(rect);
painter->restore();
}
Фон нарисованный таким образом не зависит от масштабирования. увеличенная
Но, из-за переменной rect будет неправильно отображаться при прокрутке. Так как ей передаются значения маленьких прямоугольников на которые сдвигается сцена. после scroll
Что в таких случаях лучше использовать вместо rect? Может быть кто-то уже сталкивался в подобной проблеммой?