【发布时间】:2017-10-02 19:29:51
【问题描述】:
如果您将自定义控件作为 wx.PyControl 的子类,则选项卡遍历将表现异常。例如,使用下面的代码,按几次 Tab 键会让你卡在 MyControl 中。一旦您切换到“MyControl 的子级”文本框,您只能在 2 个“MyControl 的子级”文本框之间切换,并且永远不会切换回“面板的子级”。
class MyFrame(wx.Frame):
def __init__(self):
super(MyFrame, self).__init__(None)
panel = wx.Panel(self)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(wx.TextCtrl(panel, value="Child of Panel"), flag=wx.EXPAND)
sizer.AddSpacer(30)
sizer.Add(MyControl(panel), flag=wx.EXPAND)
panel.SetSizer(sizer)
class MyControl(wx.PyControl):
def __init__(self, parent):
super(MyControl, self).__init__(parent, style=wx.BORDER_NONE|wx.TAB_TRAVERSAL)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(wx.TextCtrl(self, value="Child of MyControl"), flag=wx.EXPAND)
sizer.AddSpacer(10)
sizer.Add(wx.TextCtrl(self, value="Child of MyControl"), flag=wx.EXPAND)
self.SetSizer(sizer)
【问题讨论】:
标签: python-2.7 wxpython wxwidgets