Saya telah mencoba menerima acara mouse di Gtk.DrawingArea
saya, menggunakan Vala, tetapi tidak berhasil. Secara khusus saya membuat sub-kelas Gtk.DrawingArea
dan di konstruktor saya, saya menambahkan acara yang ingin saya terima:
this.add_events (Gdk.EventMask.ENTER_NOTIFY_MASK |
Gdk.EventMask.BUTTON_PRESS_MASK);
Kemudian, di konstruktor yang sama di bawah ini, saya mendaftarkan penangan sinyal untuk kejadian berikut:
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;
}
);
Saya mencoba return true
dan return false
untuk memeriksa apa yang terjadi dalam kedua kasus tersebut. Namun saya tidak melihat pesan di konsol ketika saya memindahkan penunjuk ke Gtk.DrawingArea
atau ketika saya mengkliknya. Saya bahkan mengatur acara untuk Gtk.Window
teratas:
this.set_events (this.get_events() |
Gdk.EventMask.ENTER_NOTIFY_MASK |
Gdk.EventMask.BUTTON_PRESS_MASK);
tapi acaranya sepertinya tidak diterima. Apa yang salah?