Общие советы по масштабированию в QGraphicsView/QGraphicsScene
В моем проекте я использую материал QGraphicsView/ QGraphicsScene.
На моей сцене будут регионы с 2D графикой. Количество регионов будет ограничено (скажем, 20)
Пользователи могут выбрать отображение одного или нескольких регионов.
Если пользователь решит отобразить один регион, я собираюсь показать один регион на сцене
Если пользователь выберет для отображения n регионов, я собираюсь показать n регионов на сцене
Мне нужна логика масштабирования, чтобы разместить n областей на одной сцене.
Как мне этого добиться?
2 ответа
Решение
QGraphicsView::fitInView() должен делать то, что вы хотите:
QRectF bounding;
foreach(QRectF r, selectedRegionRects) {
bounding |= r;
}
scene->fitInView(bounding, Qt::KeepAspectRatio);