Gtk +鼠标指针离开区域事件

时间:2009-07-01 16:27:05

标签: user-interface gtk gtkmm

我需要检测鼠标指针何时离开GtkNotebook中的区域。通常,这可以通过motion_notify事件实现,但如果指针移动得足够快,则不会触发事件。因为这是GtkNotebook中的某个像素区域,所以不可能使用GtkEventBox。这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:5)

您应该使用enter-notify-eventleave-notify-event信号。

答案 1 :(得分:1)

您可以获得进入和离开通知,但只能定期进行动作通知。如果指针移动得足够快,您将无法获得您所关注区域内坐标的通知。

捕获此100%的唯一方法是将EventBox(或其他一些窗口小部件)加载到封装此空间的窗口小部件层次结构中。请注意,您可以使用多个小部件来定义区域。

最后,如果您没有收到来自窗口小部件的进入或离开通知,您可能需要修改窗口小部件的事件掩码。

myWidget->add_events(Gdk::ENTER_NOTIFY_MASK);