0

我试图了解 Qts 平台处理几个小时,但我不明白。对于我的热键处理,我目前混合使用 X11extras 来获取显示,xlib 用于键转换,xcb 用于 Qt 本机事件处理。三个要链接的库。无证的 QPA 在哪里发挥作用?现在我想知道这是否有必要。我需要在这里澄清一下。我正在使用 qt 5.4。未来的路在何方?

4

1 回答 1

0

对于 Qt,除非您使用本机窗口,否则您不需要对关键事件进行任何本机平台编码。阅读 中的QEvent和事件函数QWidget

如果您需要直接访问原始 X11 事件,请使用QWidget::nativeEvent()QCoreApplication::installNativeEventFilter() 。应用程序级别的本机事件过滤器针对每个事件进行处理,并且比子类化QWidget和重新实现对性能的影响更大nativeEvent()

阅读QWindow::fromWinId()以及QWidget::createWindowContainer()是否需要将本机窗口嵌入为子窗口小部件。

于 2015-04-14T14:46:38.893 回答