qt - 是否可以在所有 Qt 程序(可能作为 qt 插件)中实现 emacs 样式的键绑定(bind)?

标签 qt plugins accessibility key-bindings

Gtk 程序可以通过将不同的键绑定(bind)到 gtk 信号来具有不同的键绑定(bind)主题,但是 afaik,qt 程序现在不能这样做。

由于 Qt 支持插件(就像大多数此类库所做的那样,我的意思是高级插件或 Qt 扩展),并且至少其中一些(高级插件)可以由所有 qt 程序根据某事自动加载ENV,是否可以使用 qt 插件进行全局(Emacs 或其他样式)键绑定(bind)(至少在所有输入区域中)?或者换句话说,有人知道这应该是哪种(高级)插件吗?

我的猜测是输入上下文插件或可访问(桥)插件。
对于输入上下文插件,我想知道这是否可以与输入法一起使用,因为 afaik 一次只能启用一个输入法后端。
对于可访问的插件,我还没有找到如何让它自动加载。

谢谢。

最佳答案

你可以 install an event filter拦截关键事件,并使用它将它们转换为other events .

我认为您使用的“插件”一词与 Qt 的含义不同。它有各种特定的插件——用于图像编解码器、SQL 驱动程序等——但没有通用的“对所有小部件执行此操作”机制。为此,您必须在应用程序中捕获顶级小部件的所有创建点,并添加代码来为每种情况安装过滤器。

关于qt - 是否可以在所有 Qt 程序(可能作为 qt 插件)中实现 emacs 样式的键绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8483839/

相关文章:

javascript - 在 <input> 上使用 "required"是不可访问的。有没有一种简单的方法让它可以访问(JS)或者我必须放弃它?

Android 可访问性 IMPORTANT_FOR_ACCESSIBILITY_NO 不受尊重

linux - Linux 中 Google Chrome 的 AT-SPI

qt - 如何从 Qt 中的应用程序关闭已打开的浏览器

c++ - 在 QTimer 重置时触发不同的事件

qt - 在运行时检查 Qt 插件的依赖性

jquery - Ladda 按钮旋转动画未显示在输入元素上

plugins - Munin:当插件文件名包含点时,使用 munin.conf 更改插件类别?

c++ - Qt - Dll相关问题

qt - 无法使用 MSVC 2010 x86 构建 qt5.2.1 静态