ScrolledWindow和wx.EVT_LEAVE_WINDOW

时间:2009-01-29 16:30:06

标签: wxpython wxwidgets

我有一个带textctrl的框架。当鼠标进入textctrl(EVT_ENTER_WINDOW)时,我在textctrl的顶部显示一个PopupWindow,当鼠标离开弹出窗口(EVT_LEAVE_WINDOW)时,我再次隐藏它。

一切正常,除非在PopupWindow内部有一个ScrolledWindow ,显示滚动条。当我在滚动条顶部移动鼠标时EVT_LEAVE_WINDOW被触发,所以看起来wxPython认为滚动条不是滚动窗口的一部分..:/ 我尝试将事件绑定到弹出窗口或者滚动窗口本身,但没有任何改变。有没有办法解决这个问题?

非常感谢!

(Xubuntu 8.10上的wxPython 2.8.8.0)

2 个答案:

答案 0 :(得分:0)

由于当用户移动鼠标时工具提示通常会消失,您也可以绑定到EVT_MOTION而不是EVT_LEAVE_WINDOW,并在用户移动鼠标时隐藏工具提示。

答案 1 :(得分:0)

Robin Dunn告诉我:“滚动窗口上的任何其他小部件都会发生同样的事情,就像当鼠标移动到滚动窗口时框架将获得EVT_LEAVE_WINDOW(假设框架的某些部分是可见的)所以它也可能收到了一个输入窗口事件)“