我将一个外部窗口重新设置为Qt应用程序(XReparentWindow, XMapRaised, XMoveResizeWindow)的父窗口。它可以工作,但当我单击系统锁定父窗口(没有鼠标或键盘事件)时,预期可能是父窗口中的一些输入,也可能是我的应用程序。
例如,尝试嵌入gedit并单击它会导致键盘事件仅在gedit中发生(甚至全局Awese键被禁用),并且不会在任何地方单击鼠标(除非我使用Ctrl+Q关闭嵌入式gedit )。
如果使用QX11EmbedContainer,也是如此。即使对它执行setEnabled(false)。
为什么它被锁住了?如何防止这种锁定或如何禁用某些X窗口的输入处理?
发布于 2011-10-13 20:25:17
XEmbed规范涵盖了将窗口重新设置为自己的应用程序的父子关系。如果您阅读了该规范,您将会看到,要使此功能正常工作,还需要做一些额外工作:
http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
https://stackoverflow.com/questions/7745295
复制相似问题