2015-09-28 4 views
0

Я создал класс представления, полученный из QGraphicsView, и установил backgroundBrush в качестве изображения. Я хочу перевести backgroundBrush. Я пробовал следующиеQt QGraphicsView translate BackgroundBrush

// graphicsView derived from QGraphicsView 
graphicsView->backgroundBrush().transform().translate(moveX, moveY); 

Но это не превращает фоновый кисть.

ответ

0

backgroundBrush() и transform() определены как функции-члены const, то есть они не изменяют объект, на который они вызывают.

Вам нужно позвонить setBackgroundBrush() и setTransform() изменить эти свойства:

QBrush brush = graphicsView->backgroundBrush(); 
brush.setTransform(QTransform::fromTranslate(moveX, moveY)); 
graphicsView->setBackgroundBrush(brush); 
Смежные вопросы