QGraphicsScene的位置问题

时间:2018-05-01 20:23:20

标签: c++ qt qgraphicsview qgraphicsscene

所以我试图做油漆,我遇到了一些问题。当我尝试绘制QGraphicsRectItem时,它不会定位在我想要的位置。

QColor neki1(23, 145, 195);
QPen pen1(neki1, 2, Qt::DashLine, Qt::RoundCap, Qt::RoundJoin);
QGraphicsRectItem* sel = new QGraphicsRectItem(0,0,100,100);
sel->setPen(pen1);
sel->setBrush(Qt::transparent);
addItem(sel);

enter image description here

这是代码和图片,你可以看到它在屏幕中间的某个位置得到位置。在程序开始时我设置了scene->setSceneRect(QRectF(0, 0, 1000, 1000));但是场景左上角的坐标不是0,0。无论如何要解决这个问题吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

哦,这是常见的错误。你设置了场景的边界矩形。但QGraphcsView可以滚动并放大该场景。 它"目标"在场景的左上角,所以0,0位于中间附近。您必须将视图与场景的边界矩形匹配,例如使用setAlignmentfitInView