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