Qt добавить элемент в центр сцены / вида - PullRequest
3 голосов
/ 07 мая 2011

Привет,

Я пытаюсь добавить QGraphicsItem точно в центр текущего экрана.
Мой QGraphicsScene очень большой (10k X 10K), поэтому QGraphicsView не может показать его полностью,есть полосы прокрутки.

Я не могу найти функцию, которая возвращает мне прямоугольник моего текущего экрана, я искал во всех функциях QGraphicsScene и QGraphicsView.
Есть функции для возврата прямоугольника сцены (этовозвращает прямоугольник 10k X 10k, но это бесполезно) и есть функции для возврата положения мыши, но мне нужно переместить мышь и щелкнуть меню, чтобы мышь больше не находилась внутри сцены, и элемент будет сгенерирован вневидимое пространство ...

Большое спасибо.

1 Ответ

5 голосов
/ 08 мая 2011

Вы должны отобразить свой верхний левый угол (0,0) окна просмотра на сцену.Ширина и высота равны ширине и высоте прямоугольника области просмотра.

Чтобы получить прямоугольник текущего экрана, попробуйте следующее:

QRect exposedRect(graphicsView.mapToScene(0,0).toPoint(), graphicsView.viewport()->rect().size());

Полагаю, вы можете справиться с этим здесь.

...