QT QGraphicsScene、QGraphicsItem、QGraphicsProxyWidget、QWidget间的事件传递
来源:互联网 发布:mac双系统 没了一个 编辑:程序博客网 时间:2024/06/01 07:42
QT QGraphicsScene、QGraphicsItem、QGraphicsProxyWidget、QWidget间的事件传递
在项目开发中由于没有能够深刻理解QT QgraphicsScene场景中的事件传递的原理,导致浪费了两天时间。下面就将这两天对QT时间QT QgraphicsScene场景中的事件传递的理解分享一下。
QGraphicsScene为自定义画图场景,通过addItem()可以将自定义item放入scene场景,也可以通过QGraphicsProxyWidget代理类将QWidget封装为item中,由于图形场景层次叠加,势必导致鼠标事件被劫持。因此本位详细说明不同鼠标事件在不同层次间的传递方法。
鼠标单击事件:
- 1
- 1
如果QWidget想接收鼠标点击事件,在鼠标点击事件中增加事件传递函数
- 1
- 1
而在重写QWidget的mousePressEvent事件时需要用函数2才能将事件传递到QWidget控件中
- 1
- 1
只有这样鼠标单击事件才能被传递至QWidget场景中。鼠标移动事件:
- 1
- 1
QWidget被封装为QGraphicsItem后想实现移动目的,如果重写声明2函数实现移动,则需要在时间函数中增加
- 1
- 1
因为在场景内只有item能够实现移动。同样QWidget向下传递时间使用QWidget::mouseMoveEvent(event)鼠标释放事件:
- 1
- 1
QPushButton控件是通过QWidget::mouseReleaseEvent事件来触发。mouseReleaseEvent事件传递类似于mousePressEvent事件
阅读全文
0 0
- *QT QGraphicsScene、QGraphicsItem、QGraphicsProxyWidget、QWidget间的事件传递
- QT QGraphicsScene、QGraphicsItem、QGraphicsProxyWidget、QWidget间的事件传递
- Qt绘图QGraphicsView、QGraphicsScene、QGraphicsItem
- 对QT 中QGraphicsView QGraphicsScene QGraphicsItem的初步理解
- Qt绘图之QGraphicsScene QGraphicsView QGraphicsItem详解
- QGraphicsProxyWidget 与 QWidget 点滴
- QGraphicsProxyWidget 与 QWidget 点滴
- QGraphicsView与QGraphicsScene Qt窗体的消息传递
- Qt QGraphicsProxyWidget
- QGraphicsScene QGraphicsView QGraphicsItem-----
- QGraphicsScene QGraphicsView QGraphicsItem
- QT QGraphicsItem飞舞的蝴蝶
- QGraphicsItem子类对象间消息的传递与获取
- 在QGraphicsScene中嵌入QWidget
- Qt中基于QGraphicsItem类的重载鼠标事件函数的教训
- Qt中基于QGraphicsItem类的重载鼠标事件函数的教训
- Qt5笔记之QGraphicsScene QGraphicsView QGraphicsItem
- Qt中QGraphicsItem/View/Scene的哲学
- [BZOJ]4922: Karp-de-Chant Number DP
- One-bit DAC
- eclipse短信验证的布局
- Qt属性系统详解
- eclipse安装python插件(window环境)
- QT QGraphicsScene、QGraphicsItem、QGraphicsProxyWidget、QWidget间的事件传递
- Ubuntu安装配置串口通讯工具minicom&&cutecom
- HBase PerformanceEvaluation机制分析
- 机器学习笔记-Blending and Bagging
- 中英文姓名及手机号的正则表达式
- QGraphicsProxyWidget 与 QWidget 点滴
- ImageLoader多张图片&listview多条目加载
- Java基础学习之——接口的作用和抽象类的区别
- 操作系统基础