查看完整版本: [-- QGraphicsItem中mapFromItem,mapToItem,mapFromScence,mapToScence的作用 --]

QTCN开发网 -> Qt基础编程 -> QGraphicsItem中mapFromItem,mapToItem,mapFromScence,mapToScence的作用 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

zhaozuqian 2014-02-19 10:02

QGraphicsItem中mapFromItem,mapToItem,mapFromScence,mapToScence的作用

求助:不太清楚QGraphicsItem中mapFromItem,mapToItem,mapFromScence,mapToScence到底是干什么用的?有谁知道不?

realfan 2014-02-19 10:29
摘自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进行映射。

t593448081 2019-11-14 10:48
原来是子项和父项之间的映射啊,我还以为是项和项之间的映射,受教了


查看完整版本: [-- QGraphicsItem中mapFromItem,mapToItem,mapFromScence,mapToScence的作用 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled