1

我在我的应用程序中使用 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 后,我的应用程序最终 UI 快照如下: 应用程序界面快照 我的问题是为什么图片上方有一些空闲空间?什么可能导致这种情况?我正在为我的小部件使用一些负坐标。跟那个有关系吗?

4

1 回答 1

3

负坐标可能是原因。QGraphicsScene通过组合其中所有项目的边界来计算其边界矩形。

如果您知道您的场景边界,请致电setSceneRect将其修复为已知的矩形。这样,放置在边界之外的图形项目不会导致场景扩展超出您想要的范围。

于 2010-07-01T14:14:53.660 回答