[英]wxpython notebook inside boxsizer
此代码有什么问题? 我试图将笔记本放置在Boxsizer控制的面板上。 我是wxpython的新手,无法弄清楚我在做什么错。 当我运行它时,它只会在角落变成一团糟:(
import wx
class TestNoteBook(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(600, 500))
panel = wx.Panel(self)
hsizer = wx.BoxSizer(wx.HORIZONTAL)
leftpanel = wx.Panel(panel)
notebook = wx.Notebook(leftpanel)
posterpage = wx.Panel(notebook)
listpage = wx.Panel(notebook)
notebook.AddPage(posterpage, 'posters')
notebook.AddPage(listpage, 'list')
hsizer.Add(leftpanel, 1, wx.EXPAND)
rightpanel = wx.Panel(panel)
hsizer.Add(rightpanel, 1, wx.EXPAND)
panel.SetSizer(hsizer)
app = wx.App()
frame = TestNoteBook(None, -1, 'notebook')
frame.Show()
app.MainLoop()
设置左面板的sizer。 请参阅下面的代码(尤其是### Added code (
之间的### Added code (
... ### Added code)
)。
import wx
class TestNoteBook(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(600, 500))
panel = wx.Panel(self)
hsizer = wx.BoxSizer(wx.HORIZONTAL)
leftpanel = wx.Panel(panel)
notebook = wx.Notebook(leftpanel)
posterpage = wx.Panel(notebook)
listpage = wx.Panel(notebook)
notebook.AddPage(posterpage, 'posters')
notebook.AddPage(listpage, 'list')
hsizer.Add(leftpanel, 1, wx.EXPAND)
rightpanel = wx.Panel(panel)
hsizer.Add(rightpanel, 1, wx.EXPAND)
##### Added code (
leftpanel_sizer = wx.BoxSizer(wx.HORIZONTAL)
leftpanel_sizer.Add(notebook, 1, wx.EXPAND)
leftpanel.SetSizer(leftpanel_sizer)
rightpanel.SetBackgroundColour('blue') # not needed, to distinguish rightpanel from leftpanel
##### Added code )
panel.SetSizer(hsizer)
app = wx.App()
frame = TestNoteBook(None, -1, 'notebook')
frame.Show()
app.MainLoop()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.