如何在 5.6 中直接键盘输入 QOpenGLWindow

Posted

技术标签:

【中文标题】如何在 5.6 中直接键盘输入 QOpenGLWindow【英文标题】:How to direct keyboard input QOpenGLWindow in 5.6 【发布时间】:2016-05-12 19:46:44 【问题描述】:

我将我的 Qt 应用程序从 Qt 5.3 转换为 5.6。以前我使用 QGLWidget,现在升级到 QWidget 中包含的 QOpenGLWindow。我希望我的窗口能够处理一些按键事件。 QOpenGLWindow 确实具有处理键盘事件的受保护方法。但是,与旧的 QGLWidget 不同,它没有 setFocus() 方法,并且我的处理程序没有被调用。补救措施是什么?即使我尝试将焦点设置为拥有的容器,然后手动将事件传递给 QOpenGLWindow,似乎也没有事件发生。

【问题讨论】:

【参考方案1】:

我设法通过将 eventFilter 添加到我的 QOpenGLWindow 子类然后为拥有容器(及其一些父容器)安装事件过滤器来解决问题。

【讨论】:

以上是关于如何在 5.6 中直接键盘输入 QOpenGLWindow的主要内容,如果未能解决你的问题,请参考以下文章

在python中,应如何捕获用户键盘输入?

如何使键盘直接出现在 UITableViewCell 的文本字段中

在键盘上如何打出上划线和下划线

kivy 输入框无法调用软键盘输入中文?

有没有办法在标准 C++ 中直接从键盘读取输入? [复制]

selenium如何模拟真实键盘操作?