Und zwar möchte ich ganz simpel, dass beim Focus auf einem Frame, auf
die F1 Taste reagiert wird und sich eine Aboutbox öffnet.
Hier mal ein kleiner Testcode in dem ich nur dieses Vorhaben ausprobiere:
Code: Alles auswählen
#!/usr/bin/env python
import wx
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.button_1 = wx.Button(self, -1, "button_1")
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_BUTTON, self.OnButton, self.button_1)
# Warum bekomme ich keine Reaktion?
self.Bind(wx.EVT_KEY_DOWN, self.OnButton, id=wx.WXK_F1)
def __set_properties(self):
self.SetTitle("frame_1")
def __do_layout(self):
sizer_1 = wx.BoxSizer(wx.VERTICAL)
sizer_1.Add(self.button_1, 0, 0, 0)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
self.Layout()
def OnButton(self, evt):
info = wx.AboutDialogInfo()
info.Name = "Hello World"
wx.AboutBox(info)
if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
frame_1 = MyFrame(None, -1, "")
app.SetTopWindow(frame_1)
frame_1.Show()
app.MainLoop()
Weiß jemand ne Lösung?