社区
Qt
帖子详情
QGraphicsScene和QGraphicsItemGroup
charles_gz
2014-11-04 11:58:38
工作中遇到这样的问题:
所有的Item都添加到Group中再把group添加到Scene ,在这样的一个结构下item无法接收到鼠标事件,直接添加item到scene是可以的。请问怎么解决通过group无法获取鼠标事件的问题呢?
...全文
309
5
打赏
收藏
QGraphicsScene和QGraphicsItemGroup
工作中遇到这样的问题: 所有的Item都添加到Group中再把group添加到Scene ,在这样的一个结构下item无法接收到鼠标事件,直接添加item到scene是可以的。请问怎么解决通过group无法获取鼠标事件的问题呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
解决了,结贴!!!
Qt 基于
QGraphicsItem
类重载鼠标事件函数的教训
这是我在做一个简单的俄罗斯方块游戏时碰到的问题,在这里记录一下以便不再出现这种问题。
145-QPainter和Graphics/View绘图-Graphics/View绘图-场景
QGraphicsScene
场景中添加从
QGraphicsItem
继承的子类的方法是 addItem(
QGraphicsItem
)。另外还可以添加一些标准的图项,用addEllipse()、addLine()addPath()addPixmap()、addPolygon()、addRect()addSimpleText()addText()和 addWidget()方法可以添加椭圆、直线、绘图路径、图像、多边形、矩形、简单文本、文本和控件,并返回图项。
QGraphicsView,
QGraphicsScene
和
QGraphicsItem
图形视图框架提供了一个基于图形项的模型视图编程方法,主要由场景、视图和图形项三部分组成,这三部分分别由
QGraphicsScene
、QGraphicsView和
QGraphicsItem
这三个类来表示。
QGraphicsView、
QGraphicsScene
和
QGraphicsItem
三者关系
按我自己的理解做个比如吧,不知道准不准确,但是应该能很好理解。 将QGraphicsView比作成一台手机,那么
QGraphicsScene
相当于手机里的app,比如是音乐播放器的话,那么
QGraphicsItem
就是里面的歌曲,在复杂点的话,就可以是播放器里的一切,不单单是歌曲,如播放、暂停按钮,歌词,歌手海报啥的。 多个views可以监视同一个场景,而场景包含多个具有多种几何外形的items。所以这句话大概意思就是多台手机里面都可以有同一个播放器,然后...
Qt图形视图框架:
QGraphicsScene
详解
否则,它将转发到从事件开始的场景位置处接受鼠标事件的最上面可见的图形项,并且该图形项成为鼠标抓取器图形项。如果未设置或者设置为无效的矩形则SceneRect()将返回自创建场景以来场景中所有图形项的最大边界矩形(即当在场景中添加或移动图形项时矩形会增大,但是永不减小)。每当场景中的焦点发生变化时(某项获得或失去输入焦点时(涉及一个图形项),或者当焦点从一个图形项传递到另一个图形项时(涉及两个图形项)),场景都会发出此信号。默认情况下,将返回形状与图形项相交或包含在图形项形状内的所有图形项。
Qt
16,216
社区成员
26,595
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章