我想用wxPython的實現有三個wxTextCtrls
小部件的GUI 3個wxTextCtrls,我想,讓他們具有相同的尺寸,當我改變窗口的大小的wxPython:如何保持其在flexgridsizer相同尺寸
如果我對這些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()
嗨@bouke,謝謝你的回覆。我現在使用'wx.aui',它適用於我。 – mitchelllc
@mitchelllc請upvote /接受顯示你對我的時間的讚賞 – bouke