2013-07-28 9 views
1

이 코드의 잘못된 점은 무엇입니까? boxsizer로 제어되는 패널에 노트를 놓으려고합니다. 나는 wxpython에 익숙하지 않고 내가 뭘 잘못하고 있는지 알 수 없다. 내가 그것을 실행하면 그냥 구석에 혼란을 만드는 :(왼쪽 패널에 대한wxpython notebook in boxsizer

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() 

답변

2

세트 사이 저를. 아래 코드를 참조하십시오 (특히. 코드를 ### 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() 
+0

최고. 고맙습니다! – phimath