我的可折叠窗格出了问题。扩展/折叠功能有效。但我无法点击我的扩展按钮或文本字段。该窗格显示我的内容,但不可点击。
我使用明确的位置坐标?(但我故意这样做。) 这是什么原因?
这里有一个示例:(您将看到展开的按钮,但无法单击它们)
from wxPython.wx import *
from wxPython.grid import *
class SampleCollapsiblePane(wx.CollapsiblePane):
def __init__(self, *args, **kwargs):
wx.CollapsiblePane.__init__(self,*args,**kwargs)
sizer = wx.BoxSizer(wx.VERTICAL)
subpanel = wxPanel(self, 0)
self.button =wx.Button(subpanel, label="Save", pos=(20, 170))
self.Infotext = wx.StaticText(subpanel, -1, "this is a test", pos=(100, 174))
self.Infotext.SetBackgroundColour((178,34,34))
self.Infotext.SetForegroundColour((245, 245,220))
sizer.Add(subpanel)
self.GetPane().SetSizer(sizer)
self.Bind(wx.EVT_COLLAPSIBLEPANE_CHANGED, self.on_change)
def on_change(self, event):
self.GetParent().Layout()
class Main_Frame(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
self.main_panel = wx.Panel(self)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(SampleCollapsiblePane(self.main_panel, label = str("Configurations")), 0,)
sizer.Add(wx.Button(self.main_panel, label = str("the end")))
self.main_panel.SetSizer(sizer)
class SampleApp(wx.App):
def OnInit(self):
frame = Main_Frame(None, title = "Sample App")
frame.Show(True)
frame.Centre()
return True
def main():
app = SampleApp(0)
app.MainLoop()
if __name__ == "__main__":
main()
答案 0 :(得分:1)
我认为父参数不正确。 编辑此行:
subpanel = wxPanel(self, 0)
在
subpanel = wxPanel(self.GetPane(), 0)
它会起作用;)