0
A
回答
0
如果你已经创建了自定义的QGraphicsScene类,你可以重写QWidget的“QWidget :: keyPressEvent()”和“QWidget :: keyReleaseEvent()”方法。
class MyGraphicsScene : QGraphicsScene
{
void keyPressEvent(QKeyEvent *event);
}
//in cpp
void MyGraphicsScene::keyPressEvent(QKeyEvent *event)
{
// do sth with event
}
如果您只是使用QGraphicsScene的遗产,您可以使用父母的keyPressEvent。无论你是否必须提供更多的细节
0
你有两个选择这样做:
1)创建自己的类基础上的QGraphicsView并重写keyPressEvent()。如果你要改变很多其他的东西,这才有意义。
2)安装事件过滤器,使用installEventFilter(..)方法,并通过有过滤器对象将接收所有你可能需要
相关问题
- 1. 在QT中安装事件过滤器
- 2. 安装事件过滤器QAbstractScrollArea
- 3. Qt,多重继承,包装器或事件过滤器
- 4. Qt将Widget添加到GraphicsView?
- 5. 事件处理和过滤如何在dc.js中工作?
- 6. 如何逐一处理Qt事件?
- 7. 如何安装twig localizeddate过滤器?
- 8. Qt中的事件处理
- 9. Qt如何制作和安装插件?
- 10. Qt:如何过滤意外(连续)MouseButtonRelease和MouseButtonPress事件?
- 11. 如何在角式处理过滤器
- 12. 如何安装气体预处理器?
- 13. 图像处理和描边过滤器
- 14. 过滤器和处理程序的FileUpload
- 15. HBase的InternalScanner和过滤协处理器
- 16. 添加断点和安装处理器
- 17. 如何安装Qt
- 18. 处理容器停止/重装事件
- 19. javaFX。删除所有事件处理程序(过滤器)
- 20. 如何检查isapi和CGI过滤器是否安装
- 21. 如何过滤掉事件处理程序中的子元素事件?
- 22. Qt GraphicsView mouseMoveEvent shadowing GraphicsItem mouseMoveEvent
- 23. 如何创建一个不处理触摸事件的透明过滤器
- 24. 如何为grails安装过滤器插件?
- 25. 如何捕获JTable过滤器事件?
- 26. 安装批处理文件
- 27. 过滤器是否用于预处理和后处理?
- 28. Qt - 通常由窗口管理器处理的捕获事件
- 29. 在QT OpenGL中处理事件
- 30. Qt/C++事件循环异常处理
你要处理整个视图的事件?对于特定项目?请给我们更多的信息。 – andref 2010-07-22 21:26:37
雅整个视图我想安装事件过滤器。 – Naruto 2010-07-23 04:48:28