gpt4 book ai didi

c++ - 为什么第一个添加的项目总是出现在 Qt 图形场景/ View 的中心?

转载 作者:行者123 更新时间:2023-11-30 04:25:57 25 4
gpt4 key购买 nike

我有一个图形场景和 View ,然后我添加了一个元素。但无论我给出什么 x/y 坐标,它总是出现在图形 View 的中心。

为什么会这样,我怎样才能让它出现在左上角?

这是我的代码:

scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
QGraphicsEllipseItem *ellipseItem = scene->addEllipse(150, 150, 10, 10);

最佳答案

原因是默认情况下,QGraphicsScene 计算其 sceneRect通过将所有项目矩形加在一起。当您添加第一个项目时,它会自动将其用作场景矩形。默认情况下,QGraphicsView 缩放并以场景矩形为中心。

如果您知道最终或所需的场景矩形,请在添加任何项目之前设置它:

scene->setSceneRect(0, 0, 800, 600);
scene->addEllipse(150, 150, 10, 10);

关于c++ - 为什么第一个添加的项目总是出现在 Qt 图形场景/ View 的中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11825722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com