Wxpython wx python光标在鼠标移动事件后未释放

Wxpython wx python光标在鼠标移动事件后未释放,wxpython,wxwidgets,Wxpython,Wxwidgets,我正在使用滑块控件在应用程序中设置尺寸。不幸的是,在EVT_LEFT_UP事件之后,光标似乎锁定在滑块控件上,我需要单击应用程序上的其他位置来释放它。我可能错过了一些简单的东西,但它是什么 import wx class Example(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, 'Slider control') self.C

我正在使用滑块控件在应用程序中设置尺寸。不幸的是,在EVT_LEFT_UP事件之后,光标似乎锁定在滑块控件上,我需要单击应用程序上的其他位置来释放它。我可能错过了一些简单的东西,但它是什么

    import wx


    class Example(wx.Frame):
        def __init__(self):
            wx.Frame.__init__(self, None, -1, 'Slider control')
            self.Centre()
            self.sldr_size = wx.Slider(self, 100, 0, 1, 100, size=(250, -1), style=wx.SL_HORIZONTAL )
            self.sldr_size.Bind(wx.EVT_LEFT_UP, self.sldr_size_button_up)
            sizer = wx.GridBagSizer()
            sizer.Add(self.sldr_size, pos=(0, 0))
            self.SetSizer(sizer)
            self.sldr_size.SetValue(33)
            self.Show()

        def sldr_size_button_up(self, event):
            del event
            self.item_size = 1.3 - float(self.sldr_size.GetValue())/100
            print self.item_size

    if __name__ == '__main__':
        simple_screen_app = wx.App()
        main_frame = Example()
        main_frame.Show(True)
        simple_screen_app.MainLoop()

编辑:简化代码

本机滑块小部件很可能有一个用于EVT_LEFT_UP的内置事件处理程序,用于释放鼠标捕获。由于您拦截了EVT_LEFT_UP事件,因此您正在阻止调用该内置处理程序。通过在处理程序中调用
event.Skip()
,您可以告诉事件处理系统继续查找匹配的处理程序,如果您的处理程序不在,它会继续查找匹配的处理程序。

本机滑块小部件很可能有一个内置的EVT\u LEFT\u事件处理程序,用于释放鼠标捕获。由于您拦截了EVT_LEFT_UP事件,因此您正在阻止调用该内置处理程序。通过在处理程序中调用
event.Skip()
,您可以告诉事件处理系统继续查找匹配的处理程序,如果您的处理程序不在,它会这样做。

您的操作系统/工具包是什么?wxpython/python版本?您的操作系统/工具包是什么?wxpython/python版本?完美的罗宾。谢谢你,罗宾。非常感谢。