QGraphicsItem的坐标是相对于它的父Item的,如果该Item无父,那么它的父默认为scene,也就是说无父的Item坐标是相对于scene的,即该Item位于Scene的坐标系统中。
最近在使用图形视图框架的时候碰到一个Item的坐标与预想中不一样的问题。
首先设置窗体的Geometry为(100,100,800,500);
设置Scene的SceneRect为(100,100,500,300);
设置view的Geometry为(100,100,820,520);
然后创建一个无父SimpleTextItem添加到scene中,Item setPos为(100,100);
上代码:
m_scene=new QGraphicsScene(this);
m_scene->setBackgroundBrush(Qt::gray);
m_scene->setSceneRect(100,100,800,500);//pos 位置相对于 parent
QGraphicsSimpleTextItem *simpleTextItem=

本文探讨了QGraphicsItem的坐标系统,解释了为何无父Item的坐标相对于scene,以及在设置不同Geometry后,SceneRect的(100,100)与view的(0,0)对齐导致的Item位置偏差问题。通过实例分析,指出了Item在Scene的(100,100)即View的(0,0)处的原因。"
128773954,16053582,深度学习PyTorch实战:生成对抗网络GAN解析,"['深度学习', 'PyTorch', '生成对抗网络']
最低0.47元/天 解锁文章
5000

被折叠的 条评论
为什么被折叠?



