QGraphicsView / QGraphicsScene вопрос рендеринга - PullRequest
1 голос
/ 01 июля 2010

Я использую пару QGraphicsScene / QGraphicsView в моем приложении.Я подкласс их для моей цели.Ниже приведен фрагмент кода, который генерирует пару:

itsScene = new QGraphicsScene;
itsView = new QGraphicsView;
itsView->setParent(itsCanvas);

itsView->setGeometry(20,20,1700,720);
itsView->setBackgroundBrush(Qt::black);
itsView->setAlignment(Qt::AlignTop);
itsView->setScene(itsScene);

После добавления некоторых виджетов в QGraphicsScene окончательный снимок пользовательского интерфейса моего приложения приведен ниже: Снимок пользовательского интерфейса приложения http://img51.imageshack.us/img51/2360/sahagoruntu.jpg Вот мой вопрос, почему есть некоторыесвободное пространство над картинкой?Что может вызвать это?Я использую некоторые отрицательные координаты для своих виджетов.Это связано с этим?

1 Ответ

3 голосов
/ 01 июля 2010

Отрицательные координаты могут быть причиной.QGraphicsScene вычисляет ограничивающий прямоугольник на основе объединения границ всех элементов в нем.

Если вы знаете границы своей сцены, позвоните setSceneRect, чтобы зафиксировать его в известном прямоугольнике.Таким образом, графические элементы, размещенные вне границ, не приведут к расширению сцены за пределы того, что вы хотите.

...