需要Qt QPA和X11澄清

时间:2015-04-13 13:34:59

标签: c++ qt qt5 x11 xcb

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

1 个答案:

答案 0 :(得分:0)

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

如果您需要直接访问原始X11事件,请使用QWidget::nativeEvent()QCoreApplication::installNativeEventFilter()。应用程序级别的本机事件筛选器将针对每个事件进行处理,并且比继承QWidget并重新实现nativeEvent()具有更多性能影响。

如果您需要将原生窗口嵌入为子窗口小部件,请阅读QWindow::fromWinId()QWidget::createWindowContainer()