В принципе, мне нужно добиться этого, чтобы обойти ошибку, которая не идентифицирует мышь над верхней панелью как находящуюся внутри окна. Как вы можете видеть с помощью приведенного ниже кода, если вы поместите мышь на верхнюю панель, окно станет полупрозрачным, как если бы мышь не была там (mouse_enter()
не вызывается).motion-notify-event not triggering
Ну, так я думал, что единственный способ сделать это - получить координаты и положение мыши и работать оттуда в функции mouse_move()
, проблема в том, что motion-notify-event
не срабатывает.
import gtk
def mouse_move(window, event):
print(win.get_pointer())
win.set_opacity(1)
def mouse_enter(window, event):
win.set_opacity(1)
def mouse_leave(window, event):
win.set_opacity(0.5)
win = gtk.Window()
win.set_opacity(0.5)
win.set_size_request(600, 400)
win.connect('enter-notify-event', mouse_enter)
win.connect('leave-notify-event', mouse_leave)
win.connect('motion-notify-event', mouse_move)
win.connect('destroy', gtk.main_quit)
win.show_all()
gtk.main()
Sintaticly Как я могу это сделать? я сделал 'win.add_events (POINTER_MOTION_MASK)' и выбрал 'NameError: name 'GDK_POINTER_MOTION_MASK' не определен' – Miguel
Я бы не знал; вам нужно будет найти ссылку PyGTK. Сожалею. – andlabs
Спасибо, хотя @andlabs – Miguel