繁体   English   中英

使用wxPython的FloatCanvas小部件,是否可以获取事件的ControlDown信息?

[英]Using wxPython's FloatCanvas widget, is there a way to get the ControlDown information of the event?

我想知道是否可以从FloatCanvas触发的EVT_FC_LEFT_UP事件上获取键盘修改器的状态。

我更愿意这样做,而不必自己为keyUp和keyDown编写回调。 与让类成员在整个窗口中跟踪修饰符状态相比,我没有更好的方法来获取控件状态。

是否可以在EVT_FC_LEFT_UP回调内部获取控制键的状态?

wxPython中没有isKeyDown类型方法(afaik)

我看到你得到这个的唯一方法是

control_pressed = False
.....
self.float_canvas.bind(wx.EVT_KEY_DOWN,OnKeyDown)
self.float_canvas.bind(wx.EVT_KEY_DOWN,OnKeyUp)
.....
def OnKeyDown(evt):
    global control_pressed
    if evt.GetKeyCode() == 117 #(or whatever the code for ctrl is)
       control_pressed = True

def OnKeyUp(evt):
    global control_pressed
    if evt.GetKeyCode() == 117 #(or whatever the code for ctrl is)
       control_pressed = False

然后在您的wx.EVT_LEFT_UP事件处理程序中检查control_pressed

也是在现实生活中(tm)我怀疑您会希望所有这些都不属于全局变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM