[PIPython] [wxPython] Domanda sulle hot key (EVT_KEY_DOWN)
Tiziano Lattisi
tiziano
Ven 19 Nov 2004 15:16:45 CET
Hai pensato a gestire l'evento dell'oggetto che hai in focus (penso
l'immagine) ?
tiziano
Il giorno 27/mag/04, alle 18:10, whamoo ha scritto:
> Salve a tutti,
>
> Sto scrivendo un'applicazione a scopi didattici per una bimba con
> alcuni problemi, per cui devo far un programma che visualizzi
> un'immagine che premendo il tasto che corrisponde all'iniziale
> dell'immagine dia un certo messaggio, mentre se viene premuto il tasto
> scorretto dia un errore.
>
> Il mio problema e' questo, ho la mia applicazione con un pannello, un
> box sizer e un'immagine e fin qui no problemi, ma quando bindo al
> panel l'evento EVT_KEY_DOWN e scrivo la funzione corrispondente non
> succede nulla, la funzione non viene lanciata...
>
> Se tolgo l'immagine, tutto funziona come dovrebbe, mi e' stato detto
> che e' un problema di focus, ma non riesco a saltarci fuori, qualcuno
> puo' darmi una mano?
>
> Posto qui il codice (semplificato, solo per la focalizzazione sul
> problema):
> Grazie in anticipo =)
>
> Whamoo
>
> ---------- Begin code:
>
> import wx
>
> class MyFrame(wx.Frame):
>
> def __init__(self, parent, title):
> wx.Frame.__init__(self, parent, -1, title,
> pos=(150, 150))
>
> self.panel = wx.Panel(self)
> wx.EVT_KEY_DOWN(self.panel, self.pn_OnKeyUp)
>
>
> img = wx.StaticBitmap(self.panel, -1, wx.EmptyBitmap(100,100))
>
> wx.EVT_SET_FOCUS(img, self.OnSetFocus)
> wx.EVT_SET_FOCUS(self, self.OnSetFocus)
> box = wx.BoxSizer(wx.VERTICAL)
> box.Add(img, 0, wx.GROW)
>
>
> self.panel.SetSizer(box)
> self.panel.Layout()
> self.panel.SetFocus()
>
> def OnSetFocus(self,event):
> self.Panel.SetFocus()
>
> def pn_OnKeyUp(self,event):
> key = event.KeyCode()
> if key == 65:
> print "Bene"
>
>
> class MyApp(wx.App):
> def OnInit(self):
> frame = MyFrame(None, "Notes")
> frame.Show(True)
> self.SetTopWindow(frame)
> return True
>
> app = MyApp(True)
> app.MainLoop()
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.zope.it/cgi-bin/mailman/listinfo/python
More information about the Python
mailing list