Собсно, есть класс пользовательского диалога (в отдельном файле), на котором раскиданы текстовые контролы { wx.TextCtrl( ) }. К каждому такому контролу я хочу привязать событие которые возникает при переходе курсора с одного контрола на другой, в этом событии я буду брать значение текстового контрола и сохранять его в переменной объекта диалога. Хочется узнать к какому событию привязываться? Вот примерный код:
class NewInvDialog(wx.Dialog):
def __init__( self, parent, ID, title, size=wx.DefaultSize,
pos=wx.DefaultPosition, style=wx.DEFAULT_DIALOG_STYLE,
useMetal=False, ):
self.data = {}
pre = wx.PreDialog()
pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
pre.Create(parent, ID, title, pos, size, style)
self.PostCreate(pre)
#———————————————————————–
panel = wx.Panel(self)
panel.SetFont( wx.Font(9, wx.MODERN, wx.NORMAL, wx.NORMAL) )
#=======================================================================
surnameLbl = wx.StaticText(panel, -1, “ Фамилия:”)
surname = wx.TextCtrl(panel, -1, “”, size=(-1, -1));
self.Bind( wx.EVT_KILL_FOCUS, self.OnSurname, surname )
#=======================================================================
saveBtn = wx.Button( panel, wx.ID_OK, “Сохранить” )
saveBtnNext = wx.Button( panel, wx.ID_APPLY, “Сохранить и\nдоб. нового” )
cancelBtn = wx.Button( panel, wx.ID_CANCEL, “Отмена” )
def OnSurname( self, evt ):
obj = evt.GetEventObject( )
self.data = obj.GetValue( )
P.S. Жаль, что в тега “code” используется не моноширинный шрифт, все выравнивание полетело… :-(