1

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

4

2 回答 2

6

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

于 2009-07-01T19:04:22.643 回答
2

保证您会收到进入和离开通知,但只会收到定期的动作通知。如果指针移动得足够快,您将不会收到有关您关心的区域内坐标的通知。

捕捉这 100% 的唯一方法是将 EventBox(或其他一些窗口小部件)构建到封装此空间的小部件层次结构中。请记住,您可以根据多个小部件定义区域。

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

myWidget->add_events(Gdk::ENTER_NOTIFY_MASK);
于 2009-07-09T23:27:52.330 回答