C++ 将一个应用程序嵌入Qt应用程序时,如何获取mouseMoveEvent和嵌入窗口大小

C++ 将一个应用程序嵌入Qt应用程序时,如何获取mouseMoveEvent和嵌入窗口大小,c++,qt,C++,Qt,我使用QX11EmbedContainer嵌入一个应用程序:spicec(它基于X11)。 如下所示: QX11EmbedContainer spicec; spicec.embedClient(winId); spicec.setMouseTracking(true); spicec.show(); 我有一些未解决的问题: 我重新实现了mousemoveent,但它不起作用(父窗口小部件也设置了setMouseTracking(true)); 那么如何从QX11EmbedContainer获

我使用QX11EmbedContainer嵌入一个应用程序:spicec(它基于X11)。 如下所示:

QX11EmbedContainer spicec;
spicec.embedClient(winId);
spicec.setMouseTracking(true);
spicec.show();
我有一些未解决的问题:

  • 我重新实现了mousemoveent,但它不起作用(父窗口小部件也设置了setMouseTracking(true)); 那么如何从QX11EmbedContainer获取鼠标移动事件呢? 或者是否有任何方法可以获取鼠标移动事件,即使鼠标不在Qt窗口中(全局鼠标移动事件)

  • 既然嵌入式窗口有自己的大小,有并没有办法获得嵌入式窗口的原始大小?因为我想调整我的qt应用程序以显示其全部内容


  • 环境是Ubuntu 14.04和Qt 4.8。

    您可以使用
    QXT库
    ,它有一个名为
    windowGeometry
    ,函数参数是
    WID。或者
    您可以使用
    Xlib
    ,函数
    XGetWindowAttributes
    也可以工作。

    您可以使用
    QXT库
    ,它有一个名为
    windowGeometry
    的函数,函数参数是
    WID。或者
    您可以使用
    Xlib
    ,函数
    XGetWindowAttributes
    也可以工作