Gdk:如何在Python中从事件掩码中删除位?

Gdk:如何在Python中从事件掩码中删除位?,python,gtk,bitwise-operators,gdk,Python,Gtk,Bitwise Operators,Gdk,我想从我的窗口事件中删除指针\u运动\u遮罩。我试过: 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) <clas

我想从我的窗口事件中删除
指针\u运动\u遮罩
。我试过:

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'>

我从gi.repository import Gdk中尝试了这个方法,没有问题。我纠正了这个问题。关键是
GdkWindow.set_events()
需要
Gdk.EventMask
win.set_events(win.get_events() & (Gdk.EventMask)~Gdk.EventMask.POINTER_MOTION_MASK))