我想从我的窗口事件中删除 POINTER_MOTION_MASK
。我试过:
win.set_events(win.get_events() & ~Gdk.EventMask.POINTER_MOTION_MASK)
但是,我得到这个错误:
TypeError: Expected a Gdk.EventMask, but got int
我应该如何从事件掩码中删除该位?
最佳答案
~ 运算符改变结果类型:
>>> type(Gdk.EventMask.POINTER_MOTION_MASK)
<class 'gi.repository.Gdk.GdkEventMask'>
>>> type(~Gdk.EventMask.POINTER_MOTION_MASK)
<type 'int'>
所以你需要转换结果。我想这应该可行:
win.set_events(win.get_events() & (Gdk.EventMask)~Gdk.EventMask.POINTER_MOTION_MASK))
关于python - Gdk:如何从 Python 中的事件掩码中删除位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606759/