2012-11-16 27 views
1

我想用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() 

回答

1

由於wxWidgets的2.5 .0,wxFlexGridSizer還可以在一個方向上平等地調整項目大小,但在另一個方向上不相等(「靈活」)。如果sizer只在一個方向上靈活(可以使用SetFlexibleDirection進行更改),則需要決定sizer如何在另一個(「非靈活」)方向上增長以填充可用空間。 SetNonFlexibleGrowMode方法用於此目的。 (來源:docs.wxwidgets.org

因此改變:

fgs.SetFlexibleDirection(wx.BOTH) 

分爲:

fgs.SetFlexibleDirection(wx.HORIZONTAL) 
fgs.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_ALL) 

我在這裏看到的唯一的問題是,TextCtrl S的最大最小尺寸適用於所有TextCtrl s。

+0

嗨@bouke,謝謝你的回覆。我現在使用'wx.aui',它適用於我。 – mitchelllc

+0

@mitchelllc請upvote /接受顯示你對我的時間的讚賞 – bouke

相關問題