我使用QX11EmbedContainer来嵌入一个应用程序:spicec(它基于X11)。 如下所示:
QX11EmbedContainer spicec;
spicec.embedClient(winId);
spicec.setMouseTracking(true);
spicec.show();
我有一些未解决的问题:
我重新实现了mouseMoveEvent,但它不起作用(父窗口小部件也设置了setMouseTracking(true)); 那么如何才能从QX11EmbedContainer获取鼠标移动事件? 或者有没有办法可以获得鼠标移动事件,即使鼠标不在Qt窗口(全局鼠标移动事件)?
由于嵌入式窗口有自己的大小,有没有办法获得嵌入式窗口的原始大小?因为我想调整我的qt应用程序以显示其完整内容。
环境是Ubuntu 14.04和Qt 4.8。
答案 0 :(得分:0)
您可以使用QXT library
,它有一个名为windowGeometry
的函数,函数param是WID.or
,您可以使用Xlib
,函数XGetWindowAttributes
也可以工作。