我在我的应用程序中使用 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 快照如下: 在这里我的问题是为什么图片上方有一些空闲空间?这可能是什么原因造成的? 我为我的小部件使用了一些负坐标。跟那个有关系吗?
最佳答案
负坐标可能是原因。 QGraphicsScene
通过组合其中所有项目的边界来计算其边界矩形。
如果您知道场景边界,请调用 setSceneRect
将其固定为已知矩形。这样,放置在边界之外的图形项目将不会导致场景扩展到您想要的范围之外。
关于c++ - QGraphicsView/QGraphicsScene渲染问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3157786/