wxpython面板没有';t调整大小
我似乎无法独自解决这个问题 我的wxPython框架中有3个小部件。两个水平堆叠,一个在其下方。代码如下:wxpython面板没有';t调整大小,wxpython,panel,Wxpython,Panel,我似乎无法独自解决这个问题 我的wxPython框架中有3个小部件。两个水平堆叠,一个在其下方。代码如下: import wx class MyFrame(wx.Frame): def __init__(self, parent, id=wx.ID_ANY, title="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name="MyFrame"): super
import wx
class MyFrame(wx.Frame):
def __init__(self, parent, id=wx.ID_ANY, title="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name="MyFrame"):
super(MyFrame, self).__init__(parent, id, title, pos, size, style, name)
panel1 = wx.Panel(self, -1)
boxV = wx.BoxSizer(wx.VERTICAL)
boxH1 = wx.BoxSizer(wx.HORIZONTAL)
boxH2 = wx.BoxSizer(wx.HORIZONTAL)
combo = wx.ComboBox(panel1, -1, size=(200, -1), choices=['A', 'B', 'C'], style=wx.CB_READONLY, value="Izberite COM vrata")
button = wx.Button(panel1, -1, size=(100, -1), label="Connect")
boxH1.Add(combo, 1, wx.ALL, 10);
boxH1.Add(button, 1, wx.ALL, 10)
boxH2.Add(wx.TextCtrl(self, -1), 1, wx.EXPAND)
boxV.Add(boxH1, 0)
boxV.Add(boxH2, 1, wx.EXPAND)
panel1.SetSizer(boxH1);
self.SetSizer(boxV);
class MyApp(wx.App):
def OnInit(self):
self.frame = MyFrame(None, title="Simulation")
self.SetTopWindow(self.frame)
self.frame.Show()
return True
if __name__ == '__main__':
app = MyApp(0)
app.MainLoop()
在我看来,这应该行得通。而且它确实。。。某种程度上。。。如果我手动设置面板的大小,它会膨胀,看起来很好。但它应该自动扩展。我已经做了一个截图来看看我在说什么:
您可以更改以下三行:
boxV.Add(boxH1, 0, wx.EXPAND)
boxV.Add(boxH2, 1, wx.EXPAND)
panel1.SetSizerAndFit(boxH1);
设置尺寸不能让面板自行计算尺寸