Перемещение элементов в QGraphicsView

Я новичок в Qt вообще и QGraphicsView в частности. Когда я вращаю в нем Qgraphicspixmapitem, кажется, что он тоже движется. Я понял, что это как-то связано с регулировкой QGraphicsView, чтобы держать сцену в поле зрения. Я удалил полосы прокрутки, потому что они мне не нужны, и я хочу, чтобы части сцены исчезали из поля зрения без изменения вида QGraphicsView. Другими словами, я хочу, чтобы все в моем QGraphicsView имело абсолютные позиции, и я не хочу, чтобы QGraphicsView менял свою точку зрения (или как бы она ни называлась, поправьте меня в терминологии).


person MaXes    schedule 02.08.2011    source источник


Ответы (1)


Вам нужна функция QGraphicsView::setSceneRect:

Это свойство содержит область сцены, визуализируемую этим представлением. Прямоугольник сцены определяет экстент сцены, а в случае представления это означает область сцены, по которой вы можете перемещаться с помощью полос прокрутки. Если не задано или установлено значение null QRectF, это свойство имеет то же значение, что и QGraphicsScene::sceneRect, и изменяется с помощью QGraphicsScene::sceneRect. В противном случае прямоугольник сцены вида не зависит от сцены.

Итак, установите sceneRect для вашего представления прямоугольник сцены, которую вы хотите видеть в представлении, и все должно быть хорошо.

person docsteer    schedule 02.08.2011