如何防止“leavenotifyevent”将标题栏视为窗口外?

2024-06-25 23:30:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python2.7中使用pyGTK,当鼠标在窗口外时设置win.set_decorated(False),当鼠标在窗口内时设置win.set_decorated(True)。你知道吗

下面的代码可以工作,但有一个问题。当我把鼠标放在标题栏上时,标题栏有一个折叠循环。因为leave-notify-event将标题栏视为窗口外。我该怎么修?你知道吗

import gtk 

def mouse_enter(win, event): 
    win.set_decorated(True) 

def mouse_leave(win, event): 
    win.set_decorated(False) 

win = gtk.Window() 
win.connect('enter-notify-event', mouse_enter) 
win.connect('leave-notify-event', mouse_leave) 
win.connect('delete-event', gtk.main_quit) 
win.show_all() 
gtk.main()

Tags: eventfalsetruegtkdefconnectnotifywin