• 4821阅读
  • 4回复

QGraphicsItem::dropEvent 不进入?!(已解决) [复制链接]

上一主题 下一主题
离线liuxu_lx7
 
只看楼主 倒序阅读 楼主  发表于: 2011-09-19
QGraphicsView 派生出1个类。 对 QGraphicsItem 派生出 N个类。将所有 QGraphicsItem 添加到 QGraphicsView 中。 每个QGraphicsItem都具有darg能力, 且只能drop到同类型的QGraphicItem上。

因需求要在QGraphicsView 中要画线,所以将QGraphicsView设置为具有drop属性,且重写了 dragEnterEvent dragMoveEnter。 且重写dropEvent

问题是:所有dropEvent 必进入重写的QGraphicsView::dropEvent, 但不进入重写的QGraphicsItem::dropEvent ! (因为我想对不同的QGraphicsItem类型做不同的处理,所以重写了QGraphicsItem::dropEvent)。但是,QGraphicsItem::dropEvent 不进入是消息没有被传递下去么?怎样能传递到QGraphicsItem里?


离线xinqingfly

只看该作者 1楼 发表于: 2011-09-20
重写的QCustomGraphicsView::dropEvent结尾处应该再调一下QGraphicsView::dropEvent(e);才能继续往下传递吧 不然消息到这就结束了
菜鸟也是鸟
离线liuxu_lx7
只看该作者 2楼 发表于: 2011-09-20
回 1楼(xinqingfly) 的帖子
写了,也不进。

而且,就不重写QGraphicsView::dropEvent,也不进入QGraphicsItem::dropEvent。我确定我在QGraphicsItem里写了setAcceptDrops(true);
离线liuxu_lx7
只看该作者 3楼 发表于: 2011-09-20
回 2楼(liuxu_lx7) 的帖子
我终于找到答案了。。
离线liuxu_lx7
只看该作者 4楼 发表于: 2011-09-20
快速回复
限100 字节
 
上一个 下一个