Vala를 사용하여 Gtk.DrawingArea
에서 마우스 이벤트를 받으려고했지만 성공하지 못했습니다. 특히 나는 Gtk.DrawingArea
을 하위 클래스라는거야 내 생성자에서 나는 이벤트가 내가 받고 싶은 추가Vala를 사용하는 Gtk.DrawingArea 마우스 이벤트
this.add_events (Gdk.EventMask.ENTER_NOTIFY_MASK |
Gdk.EventMask.BUTTON_PRESS_MASK);
그런 다음, 아래 같은 생성자에서, 나는이 이벤트에 대한 신호 핸들러를 등록 :
this.enter_notify_event.connect (
(page, event) => {
stdout.printf("mouse entered !!! \n");
return true;
}
);
this.button_press_event.connect (
(page, event) => {
stdout.printf("mouse click \n");
return false;
}
);
두 경우 모두 어떤 일이 발생하는지 확인하기 위해 return true
과 return false
을 시도했습니다. 그러나 Gtk.DrawingArea
에서 포인터를 움직이거나 클릭 할 때 콘솔에 아무런 메시지도 표시되지 않습니다. 난 정상 Gtk.Window
에 대한 이벤트를 설정합니다
this.set_events (this.get_events() |
Gdk.EventMask.ENTER_NOTIFY_MASK |
Gdk.EventMask.BUTTON_PRESS_MASK);
하지만 이벤트가 수신 얻을하지 않는 것. 무엇이 잘못 될 수 있습니까?