当我将QKeyEvent作为一个.小部件如果我使用我的QOpenGLWidget作为主窗口,但如果小部件是另一个mainWindow的子窗口,它会非常好地工作.(什么也没发生)
也许我搞砸了Qt小部件是如何工作的,但我搞不懂。
谢谢
发布于 2016-02-06 20:31:38
尝试调用yourGLWidget->setFocusPolicy (Qt::StrongFocus);
在http://doc.qt.io/qt-5/qwidget.html#focusPolicy-prop中:“如果小部件处理键盘事件,必须为它启用键盘焦点。这通常是通过小部件的构造函数完成的。”
发布于 2016-02-06 20:28:09
我猜您的mainWindow要么处理QKeyEvent (可能是一个已经映射的密钥组合),要么阻止向自定义小部件组件的转发。无论是作为"QWidget“使用,还是应用特殊规则,您都需要覆盖其他处理程序,以使处理程序能够发生。
https://stackoverflow.com/questions/35245917
复制相似问题