2010-07-01 3 views
1

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

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 мое приложение окончательный UI снимок ниже: Application UI snapshot http://img51.imageshack.us/img51/2360/sahagoruntu.jpg Вот мой вопрос, почему есть некоторое свободное пространство над картиной? Что может вызвать это? Я использую некоторые отрицательные координаты для своих виджетов. Связано ли это с этим?

ответ

3

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

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

Смежные вопросы