Python Forum
[WxPython] multiple binds
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[WxPython] multiple binds
#1
hello,
I am having trouble with events in my program:
    .
    .
    .
    self.userinput = wx.TextCtrl(pnl, style = wx.TE_PROCESS_ENTER)
    self.userinput.Bind(wx.EVT_KEY_DOWN, self.OnArrowDown)
    self.userinput.Bind(wx.EVT_TEXT_ENTER, self.OnUserEnter)
    .
    .
    .
def OnArrowDown(self,event):
    keycode=event.GetKeyCode()
    if keycode == wx.WXK_DOWN:
        self.passinput.SetFocus()
        event.Skip()
    .
    . 
    .
def OnUserEnter(self,event):
    self.passinput.SetFocus()
    event.Skip
when I run my program only the OnArrowDown() method seems to be running, is it possible to have to different events for one widget? Does Anyone know how to get both of these methods to run simultaneously?
thank you
Reply
#2
In method OnArrowDown move event.Skip() out of the if statement so the remaining events can be processed.
At the moment other events are only processed if the down arrow was pressed.

def OnArrowDown(self,event):
    keycode=event.GetKeyCode()
    if keycode == wx.WXK_DOWN:
        self.passinput.SetFocus()
    event.Skip()
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020