无法在 QopenGLWidget 中捕获 QkeyEvent

Can't capture QkeyEvent in QopenGLWidget

本文关键字:QkeyEvent QopenGLWidget      更新时间:2023-10-16

当我将QKeyEvent用作... 小部件时,我在QOpenGLWidget中捕获时遇到问题。如果我使用我的QOpenGLWidget作为主窗口,它的效果非常好,但如果小部件是另一个主窗口的子窗口,则效果不佳......(什么也没发生)

也许我搞砸了一些关于Qt小部件如何工作的东西,但我无法弄清楚。

谢谢

尝试调用yourGLWidget->setFocusPolicy (Qt::StrongFocus);

从 http://doc.qt.io/qt-5/qwidget.html#focusPolicy-prop:"如果小组件处理键盘事件,则必须为小组件启用键盘焦点。这通常是从小部件的构造函数中完成的。

我想要么你的主窗口处理 QKeyEvent(也许它是一个已经映射的键组合),要么阻止转发到你的自定义小部件组件。当用作"QWidget"时,将应用特殊规则,并且您需要覆盖其他一些处理程序以使处理程序能够发生。