当前位置: 技术问答>linux和unix
图形界面中如何发送鼠标事件/信号,来模拟鼠标动作
来源: 互联网 发布时间:2015-10-28
本文导语: windows上用SendMessage就能实现发送鼠标事件 linux上如果做? 如果用:gdk_window_get_pointer(GdkWindow* window,gint* x,gint* y,GdkModifierMask* state); 应该是针对自己的窗体的,不是针对所有窗体的。 我猜测是用信号去做把,如果是...
windows上用SendMessage就能实现发送鼠标事件
linux上如果做?
如果用:gdk_window_get_pointer(GdkWindow* window,gint* x,gint* y,GdkModifierMask* state);
应该是针对自己的窗体的,不是针对所有窗体的。
我猜测是用信号去做把,如果是应该怎么实现,移动,单击,双击
linux上如果做?
如果用:gdk_window_get_pointer(GdkWindow* window,gint* x,gint* y,GdkModifierMask* state);
应该是针对自己的窗体的,不是针对所有窗体的。
我猜测是用信号去做把,如果是应该怎么实现,移动,单击,双击
|
做过gtk开发,不过这个方面用的少。一起讨论下吧。
1.其实鼠标的任何动作都是向相应构件发送一个信号,因此我们可以直接调用相关回调函数,这样做的好处是忽略了如何处理鼠标动作,而是直接按预定的思路运行。
2.就是找相应api,gtk_widget_event( )函数将事件传递给构件,这个函数首先引发一个“事件”信号,然后只对特定事件类型引发一个信号。
3.模拟鼠标,构造事件,也就是直接控制鼠标,这个应该是最直接的。gtk应该也有相关api,不过我没用到过。
1.其实鼠标的任何动作都是向相应构件发送一个信号,因此我们可以直接调用相关回调函数,这样做的好处是忽略了如何处理鼠标动作,而是直接按预定的思路运行。
2.就是找相应api,gtk_widget_event( )函数将事件传递给构件,这个函数首先引发一个“事件”信号,然后只对特定事件类型引发一个信号。
3.模拟鼠标,构造事件,也就是直接控制鼠标,这个应该是最直接的。gtk应该也有相关api,不过我没用到过。