QGraphicsScene和QGraphicsItemGroup

charles_gz 2014-11-04 11:58:38
工作中遇到这样的问题:
所有的Item都添加到Group中再把group添加到Scene ,在这样的一个结构下item无法接收到鼠标事件,直接添加item到scene是可以的。请问怎么解决通过group无法获取鼠标事件的问题呢?
...全文
309 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29879731 2016-10-24
  • 打赏
  • 举报
回复
之前说错了,那样也不行,但是找到答案了,可以重写Item的sceneEvent函数: if(event->type() == QEvent::GraphicsSceneMousePress) { mousePressEvent((QGraphicsSceneMouseEvent *)event); } else if(event->type() == QEvent::GraphicsSceneMouseRelease) { //mouseReleaseEvent(event); } else if(event->type() == QEvent::GraphicsSceneMouseMove) { //mouseMoveEvent(event); } else if(event->type() == QEvent::GraphicsSceneMouseDoubleClick) { //mouseDoubleClickEvent(event); }
qq_29879731 2016-10-23
  • 打赏
  • 举报
回复
提供我的一个思路,在重写QGraphicsItem的地方顺便重写QGraphicsItemGroup,也不麻烦。
阿坚哥哥 2015-11-26
  • 打赏
  • 举报
回复
自私的楼主,强烈鄙视
baidu_25036201 2015-04-17
  • 打赏
  • 举报
回复
请问楼主怎么解决的,遇到了一模一样的问题
charles_gz 2014-11-04
  • 打赏
  • 举报
回复
解决了,结贴!!!

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧