QGLWidget是否有可能传播其鼠标事件?
我目前有一个 QGlWidget 作为我的主窗口的子窗口,但我似乎无法处理在其框架上发生的鼠标事件。
也许我犯了一个根本性的缺陷,但是 qglwidet 本身中的鼠标事件被设置为 event->accept(),我也没有阻止来自 qglwidget 的传出信号。
我有一个解决方法,我只是从 qglwidget 中的每个鼠标事件中发出新信号,并在我的主窗口中连接它们,但我只是好奇这是否是一个已知问题,我做错了,或者如果根本不可能。
来自 Qt 文档中关于接受事件:
设置 accept 参数表示事件接收器需要 事件。不需要的事件可能会传播到父小组件。
因此,当您接受小部件上的鼠标事件时,它不会传播到主窗口。可以在QGlWidget
中处理事件,但不必设置接受标志。只需将其传播到父级即可。