我想使用 wxpython 来实现一个具有三个wxTextCtrls
小部件的 GUI,并且我希望在更改窗口大小时保持它们具有相同的大小
如果我对这些不做任何事情wxTextCtrls
,它会很好地工作。但是当我在这三个小部件中的一个中添加多行内容时,比如第一个小部件,当我更改窗口大小时,它的大小会比其他小部件大。我怎样才能保持这些小部件的大小相同?谢谢!
(PS:我认为生成的 GUI 的图像可以更好地解释我的问题,但我不能发布图像。对不起)
我的代码是
import os
import wx
class My_Gui(wx.Frame):
def __init__(self, parent, title):
super(My_Gui, self).__init__(parent, title = title,size=(800,600))
self.InitUI()
self.Centre()
self.Show()
def InitUI(self):
my_panel = wx.Panel(self)
hbox = wx.BoxSizer(wx.HORIZONTAL)
fgs = wx.FlexGridSizer(3, 2, 25, 30)
button1 = wx.Button(my_panel, label='button1', size=(120,150))
button2 = wx.Button(my_panel, label='button2', size=(120,150))
button3 = wx.Button(my_panel, label='button3', size=(120,150))
self.tc1 = wx.TextCtrl(my_panel, style=wx.TE_MULTILINE | wx.HSCROLL)
self.tc2 = wx.TextCtrl(my_panel, style=wx.TE_MULTILINE | wx.HSCROLL)
self.tc3 = wx.TextCtrl(my_panel, style=wx.TE_MULTILINE | wx.HSCROLL)
fgs.AddMany([(button1),(self.tc1, 1, wx.EXPAND), (button2), \
(self.tc2, 1, wx.EXPAND), (button3), (self.tc3, 1, wx.EXPAND)])
fgs.AddGrowableRow(2, 1)
fgs.AddGrowableRow(1, 1)
fgs.AddGrowableRow(0, 1)
fgs.AddGrowableCol(1, 1)
hbox.Add(fgs, proportion=1, flag=wx.ALL|wx.EXPAND, border=40)
my_panel.SetSizer(hbox)
if __name__ == "__main__":
app = wx.App()
My_Gui(None, title='Example')
app.MainLoop()