将一个应用程序嵌入Qt应用程序时,如何获取mouseMoveEvent和嵌入窗口大小
Posted
技术标签:
【中文标题】将一个应用程序嵌入Qt应用程序时,如何获取mouseMoveEvent和嵌入窗口大小【英文标题】:When embed one application into Qt application, how to get the mouseMoveEvent and embed windows size 【发布时间】:2015-08-16 13:50:25 【问题描述】:我使用 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。
【问题讨论】:
【参考方案1】:你可以使用QXT library
,它有一个名为windowGeometry
的函数,函数参数是WID.or
你可以使用Xlib
,函数XGetWindowAttributes
也可以工作。
【讨论】:
以上是关于将一个应用程序嵌入Qt应用程序时,如何获取mouseMoveEvent和嵌入窗口大小的主要内容,如果未能解决你的问题,请参考以下文章
嵌入式Linux QT开发之如何实现获取磁盘空间大小的应用逻辑
嵌入式Linux QT开发之如何实现获取磁盘空间大小的应用逻辑
嵌入式Linux QT开发之如何实现获取磁盘空间大小的应用逻辑