|
wxPython中,窗口的关系如下 :
wx.Frame ---- wx.Panel --- wx.StaticText
Sizer是 GridBagSizer,
想让 Frame 处理全部键盘事件,但 Frame.AcceptsFocus 是 False。
用 style = wx.WANTS_CHARS ,
结果仍然是无法得到事件
代码大概如下:
- class MyFrame( wx.Frame ):
- def __init__ ( self, parent, title ):
- wx.Frame.__init__( self, parent, -1, title, style = wx.DEFAULT_FRAME_STYLE | wx.WANTS_CHARS )
- p = self.p = wx.Panel( self, -1 )
- gbs = self.gbs = wx.GridBagSizer(5,5)
- gbs.Add( wx.StaticText( p, -1, "something" ), (0,0) )
- ....
- self.Bind( wx.EVT_CHAR, self.onchar )
- def onchar( self, evt )
- print "Got you!"
复制代码 |
|