是否可以在wxpython中拥有多个面板?我想要这样的东西:
import wx.grid
import sys
class Mat_Frame(wx.Frame):
def __init__(self,parent):
wx.Frame.__init__(self,wx.GetApp().TopWindow,title='Material Properties')
self.panel=wx.Panel(self,-1)
self.AdderPanel=wx.Panel(self.panel,-1)
self.InputPanel=wx.Panel(self.panel,-1)
self.OutputPanel=wx.Panel(self.panel,-1)
HorSizer=wx.BoxSizer(wx.HORIZONTAL)
HorSizer.Add(self.panel,proportion=1,flag=wx.EXPAND|wx.ALL)
HorSizer.Add(self.AdderPanel,proportion=1,flag=wx.EXPAND|wx.ALL)
HorSizer.Add(self.InputPanel,proportion=1,flag=wx.EXPAND|wx.ALL)
HorSizer.Add(self.OutputPanel,proportion=1,flag=wx.EXPAND|wx.ALL)
我尝试了这个,但它没有用。我的意思是,我得到了错误的窗户。我在这里做错了吗?有人能指出我如何在wxpython中使用多个面板吗?
答案 0 :(得分:1)
您可以根据需要创建任意数量的面板。你只创建了一个,然后是一系列元组。你可能想要这个:
self.panel=wx.Panel(self,-1,size=(x,x))
panel1=wx.Panel(self.panel,-1,size=(x,x))
panel2=wx.Panel(self.panel,-1,size=(x,x))
这实际上会创建几个Panel,其中第二个是第一个的子级。虽然他们的布局不会很友好 - 你需要调查Sizer。
答案 1 :(得分:1)
抱歉,我刚刚意识到我忘了设置sizer。之后它运作良好。