如何判断光标是否在gtk.Menu内?
我有一个 gtk.Menu(用作弹出窗口),我需要确定鼠标光标是否在菜单的范围内。
我可以使用 此方法获取鼠标在屏幕上的位置< /a>.但是调用 menu.popup(...)
后如何获取菜单的尺寸和位置呢?
I have a gtk.Menu
(which is being used as a popup) and I need to determine whether the mouse cursor is inside the confines of the menu.
I can get the mouse's position on the screen using this method. But how do I get the dimensions and position of the menu after calling menu.popup(...)
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来我对 gtk.Menu 提供的一些方法还不够仔细。
事实证明,
gtk.Menu
是gtk.Widget
的后代,它有一个get_window
方法,该方法返回菜单的底层gtk。 gdk.Window
。从那里,只需调用
get_frame_extents()
即可返回带有菜单位置和大小的gtk.gdk.Rectangle
。Looks like I didn't look close enough at some of the methods that
gtk.Menu
provides.It turns out that
gtk.Menu
is a descendant ofgtk.Widget
which has a methodget_window
which returns the menu's underlyinggtk.gdk.Window
.From there, it's simply a matter of calling
get_frame_extents()
which returns agtk.gdk.Rectangle
with the position and size of the menu.