2010-07-01 3 views
1

J'utilise la paire QGraphicsScene/QGraphicsView dans mon application. Je les avais sous-classés pour mon but. L'extrait de code qui génère la paire est ci-dessous:Question de rendu 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); 

Après avoir ajouté quelques widgets dans QGraphicsScene mon application instantanée de l'interface utilisateur final est ci-dessous: Application UI snapshot http://img51.imageshack.us/img51/2360/sahagoruntu.jpg Voici ma question est pourquoi il y a un peu d'espace libre au-dessus de l'image? Qu'est-ce qui peut causer ça? J'utilise des coordonnées négatives pour mes widgets. Est-ce lié à ça?

Répondre

3

Les coordonnées négatives peuvent être la cause. QGraphicsScene calcule son rectangle englobant à partir de la combinaison des limites de tous les éléments qu'il contient.

Si vous connaissez vos limites de scène, appelez le setSceneRect pour le fixer à un rect connu. De cette façon, les éléments graphiques placés hors de la limite ne vont pas étendre la scène au-delà de ce que vous voulez.