views:

65

answers:

1

I am using QGraphicsScene/QGraphicsView pair in my application. I had subclassed them for my purpose. The code snippet that generate the pair is below:

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);

After adding some widgets into QGraphicsScene my application final UI snapshot is below: Application UI snapshot Here my question is why there is some free space above the picture? What may cause this? I am using some negative coordinates for my widgets. Is it related with that?

+1  A: 

The negative coordinates may be the cause. QGraphicsScene calculates its bounding rect from combining the bounds of all items in it.

If you know your scene bounds, call setSceneRect to fix it down to a known rect. This way graphics items placed out of the bound will not cause the scene to expand beyond what you want.

Stephen Chu