Форум сайта python.su
Возможно кто-то меня не поймет, но я хочу “привязать” кнопку к полю. Т.е. после ввода информации в поле и нажатия enter должна нажаться нужная мне кнопка. сейчас после нажатия интера курсор перепрыгивает на нижнее поле для ввода текста.
используется wxpy.
Вот класс, производный от wx.Panel:
wx.Panel.__init__(self, parent, *args, **kwargs)
self.tag = wx.TextCtrl(self)
self.see = wx.TextCtrl(self, style = wx.TE_MULTILINE | wx.TE_READONLY)
btn1 = wx.Button(self, label = 'See')
btn1.Bind(wx.EVT_BUTTON, self.OnSee)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer_top = wx.BoxSizer(wx.HORIZONTAL)
sizer_top.Add(self.tag, 1, wx.ALL, 10)
sizer_top.Add(btn1, flag = wx.TOP | wx.RIGHT, border = 8)
sizer.Add(sizer_top, flag = wx.EXPAND)
sizer.Add(self.see, 1, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM, 10)
self.SetSizer(sizer)
Офлайн
btn1.SetDefault() например, пробовали?
или
self.tag.Bind(wx.EVT_TEXT_ENTER, self.OnSee , self.tag)
+ установите флаг wx.TE_PROCESS_ENTER в стиль своего контрола, иначе Enter не будет обрабатываться
Отредактировано (Май 20, 2009 06:43:27)
Офлайн
спасибо, работает
Офлайн