我有我自己的子类QGraphicsScene
,它隐藏在QGrapnhicsView
之后(我没有覆盖它)。我的场景处理一些鼠标事件(双击和单击)。但在同一时间,我希望我的视图可以通过光标滚动(QtGui.QGraphicsView.ScrollHandDrag
)。如果视图层上的鼠标事件已经导致滚动,不能冒泡到场景,我该如何阻止视图层上的鼠标事件?阻止QGraphicsView的某些鼠标事件
0
A
回答
0
您需要实施QGraphicsView的mouseMoveEvent
功能并接受该事件。
protected:
virtual void QGraphicsView::mouseMoveEvent(QMouseEvent * event)
{
QPoint mouseLocation = event->pos();
// Do stuff
event->accept();
}
接受鼠标事件prevents a parent class from handling that event。
这将防止传播鼠标移动事件。根据您想要执行的操作,还可以重新实现mouseDoubleClickEvent
,mousePressEvent
,mouseReleasEvent
或wheelEvent
函数。它们的所有函数定义均在QGraphicsView文档中。
0
根据Qt文档,您需要实际为QGraphicsView
进行子类化,并为新子类重新实现mouseMoveEvent()
方法。
相关问题
- 1. NSColorPanel阻止鼠标事件
- 2. div阻止了我的鼠标事件
- 3. Javafx8 stackpane儿童阻止鼠标事件
- 4. pyQt4 QGraphicsView需要鼠标事件帮助
- 5. 如何阻止某些坐标的龟?
- 6. 选项卡控件阻止鼠标滚动事件C#
- 7. 阻止某些文件上传
- 8. Bootstrap toggle/switch在某些情况下阻止onChange事件
- 9. Kendo计划程序阻止编辑/销毁某些事件
- 10. 阻止访问基于某些条件下某些航线 - angularjs
- 11. DragMove阻止预览鼠标
- 12. 忽略qgraphicsview中svg图像透明部分的鼠标事件?
- 13. 使用鼠标拖/下拉时阻止点击事件
- 14. 如何阻止Ember鼠标事件处理程序滞后
- 15. jQuery鼠标事件阻止默认传播
- 16. linux x11窗口管理器 - 阻止鼠标事件
- 17. 子类化QGraphicsView,自定义鼠标事件
- 18. 添加鼠标点击事件QGraphicsView创建与QtCreator
- 19. 什么能阻止mousePressEvent或事件过滤鼠标点击事件?
- 20. 阻止某些站点的POST数据
- 21. 阻止某些网页与htaccess的
- 22. 阻止某些类的AOP代理
- 23. 防止子节点的鼠标事件
- 24. Qt QGraphicsView事件
- 25. 在SVG鼠标按下时停止鼠标向下的事件
- 26. 阻止某些网站访问某个文件
- 27. 那些鼠标事件令人困惑
- 28. 阻止某些IP访问您AWS EC
- 29. 硒 - 阻止某些元素出现
- 30. 阻止SVN访问某些用户
它不是在PySide的情况下工作。如果我覆盖任何与鼠标有关的方法,并且不显式调用父级的方法,QGraphicsView的滚动功能不起作用。如果我明确地调用它并且调用事件的“接受”方法,它就什么都不做 - 仍然传播到现场。 –
类型“重定义”错误。 –