Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Какое событие при потере фокуса текстовым контролом в wxPython? [RSS Feed]

#1 Март 6, 2008 11:41:06

reNeo
От:
Зарегистрирован: 2008-03-06
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Какое событие при потере фокуса текстовым контролом в wxPython?

Собсно, есть класс пользовательского диалога (в отдельном файле), на котором раскиданы текстовые контролы { 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” используется не моноширинный шрифт, все выравнивание полетело… :-(



Отредактировано (Март 6, 2008 11:43:30)

Офлайн

#2 Март 7, 2008 16:45:54

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Какое событие при потере фокуса текстовым контролом в wxPython?

событие верно выбрано, просто привязка не совсем точная..
замени строку

self.Bind( wx.EVT_KILL_FOCUS, self.OnSurname, surname )
на
surname.Bind( wx.EVT_KILL_FOCUS, self.OnSurname, surname )
должно заработать :)



Офлайн

  • Начало
  • » GUI
  • » Какое событие при потере фокуса текстовым контролом в wxPython?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version