• 9440阅读
  • 2回复

[提问]QGraphicsItem中mapFromItem,mapToItem,mapFromScence,mapToScence的作用 [复制链接]

上一主题 下一主题
离线zhaozuqian
 

只看楼主 倒序阅读 楼主  发表于: 2014-02-19
求助:不太清楚QGraphicsItem中mapFromItem,mapToItem,mapFromScence,mapToScence到底是干什么用的?有谁知道不?
离线realfan

只看该作者 1楼 发表于: 2014-02-19
摘自http://mobile.51cto.com/symbian-272414.htm的一段,供参考

举例来讲,当你在QGraphicsView的视口中点击鼠标时,你应该通过调用QGraphicsView::mapToScence()与QGraphicsScene::itemAt()来获知光标下是场景中的哪个item。

假如你想获知一个item位于视口中的什么位置,你应该先在item上调用QGraphicsItem::mapToScene(),然后调用QGraphicsView::mapFromScene()。最后,假如你想在一个视图椭圆中有哪些items,你应该把QPainterPath传递到mapToScene(),然后再把映射后的路径传递到QGraphicsScene::items()。

你可以调用QGraphicsItem::mapToScene()与QGraphicsItem::mapFromScene()在item与场景之间进行坐标与形状的映射。也可以在item与其父item之间通过QGraphicsItem::mapToParent()与QGraphicsItem::mapFromItem()进行映射。所有映射函数可以包括点,矩形,多边形,路径。视图与场景之间的映射也与此类似。对于从视图与item之间的映射,你应该首先映射到场景,然后再从场景向item进行映射。
1条评分金钱+10
dragon_fly 金钱 +10 很详细 2014-02-19
离线t593448081

只看该作者 2楼 发表于: 2019-11-14
原来是子项和父项之间的映射啊,我还以为是项和项之间的映射,受教了
快速回复
限100 字节
 
上一个 下一个