在 wxPython 中,BoxSizer 是一种常用的布局管理器,可以用来将窗口控件垂直或水平排列,从而实现整齐的布局。...BoxSizer 分为 wx.BoxSizer(wx.HORIZONTAL) 和 wx.BoxSizer(wx.VERTICAL) 两种,分别用于水平和垂直布局。...(wx.VERTICAL) lineOneSizer = wx.BoxSizer(wx.HORIZONTAL) lineTwoSizer = wx.BoxSizer(wx.HORIZONTAL...) lineThreeSizer = wx.BoxSizer(wx.HORIZONTAL) # add widgets to sizers lineOneSizer.Add...init__(self, None, wx.ID_ANY, "Tutorial") # create the main sizer self.mainSizer = wx.BoxSizer
常用的布局器包括 BoxSizer、GridSizer 和 FlexGridSizer。例如,可以使用 BoxSizer 来管理控件的布局。BoxSizer 可以将控件排列成水平或竖直方向。...当添加或删除控件时,BoxSizer 可以自动调整控件的大小和位置,以确保界面看起来美观。代码例子:下面是一个简单的例子,演示如何使用 wxPython 来管理动态内容和布局。...__init__(None, title="动态布局") self.sizer = wx.BoxSizer(wx.VERTICAL) self.btn_add = wx.Button...框架中的控件使用 BoxSizer 来管理布局。当添加或删除控件时,BoxSizer 会自动调整控件的大小和位置,以确保界面看起来美观。
self.destination = os.path.expanduser("~/Desktop/BackupFolder/Temp") panel = wx.Panel(self, -1) vbox = wx.BoxSizer...(wx.VERTICAL) hbox1 = wx.BoxSizer(wx.HORIZONTAL) hbox2 = wx.BoxSizer(wx.HORIZONTAL) hbox3 =...wx.BoxSizer(wx.HORIZONTAL) hbox4 = wx.BoxSizer(wx.HORIZONTAL) self.getSourceSize = self.get_size
filename = wx.TextCtrl(bkg) contents = wx.TextCtrl(bkg, style = wx.TE_MULTILINE | wx.HSCROLL) hbox = wx.BoxSizer...flag = wx.LEFT, border = 5) hbox.Add(saveButton, proportion =0,flag = wx.LEFT, border = 5) vbox = wx.BoxSizer...wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border = 5) bkg.SetSizer(vbox) win.Show() app.MainLoop() wx.BoxSizer...filename = wx.TextCtrl(bkg) contents = wx.TextCtrl(bkg, style = wx.TE_MULTILINE | wx.HSCROLL) hbox = wx.BoxSizer...flag = wx.LEFT, border = 5) hbox.Add(saveButton, proportion =0,flag = wx.LEFT, border = 5) vbox = wx.BoxSizer
self.play_button.Bind(wx.EVT_BUTTON, self.onPlay) # setup the layout with sizers hsizer = wx.BoxSizer...hsizer.Add(self.play_button, 0, wx.ALIGN_CENTER_VERTICAL) # create a border space border = wx.BoxSizer
wx.TextCtrl(panel,style=wx.TE_MULTILINE|wx.HSCROLL) #添加容器,容器中控件按横向并排排列 bsizer_top = wx.BoxSizer...(wx.VERTICAL) #添加容器,容器中控件按纵向并排排列 bsizer_center = wx.BoxSizer(wx.HORIZONTAL) bsizer_bottom... = wx.BoxSizer(wx.HORIZONTAL) #在容器中添加st_tips控件,proportion=0 代表当容器大小变化时,st_tips控件的大小不变...MyFrame(parent = None, id = -1) frame.Show() frame.Center() app.MainLoop() 3、总结 1、Box = wx.BoxSizer...假设有三个按钮,它们的比例值分别为0、1和2,它们都已添加到一个宽度为30的水平排列wx.BoxSizer,起始宽度都是10。
box = wx.BoxSizer( integer orient ) 其中的方向(orient)可以是 wx.VERTICAL 或 wx.HORIZONTAL。...将构件加入 wx.BoxSizer 要使用 Add() 方法。为了理解,我们来看一下它的参数。...可以任意组合 wx.BoxSizer 。 例如,可以将几个水平的 wx.BoxSizer 放在一个竖起的 wx.BoxSizer 中或者相反。 这样就能产生复杂的布局。...__init__( self, parent, id, title ) vbox = wx.BoxSizer( wx.VERTICAL ) hbox1 = wx.BoxSizer( wx.HORIZONTAL...我们创建了一个竖直的 wx.BoxSizer 和两个水平的 wx.BoxSizer。我们只是简单的把两个水平的放进了那个竖直的中了。我们展示了六种可用的边框样式。边框是简单的窗口装饰品。
Progress") self.count = 0 self.progress = wx.Gauge(self, range=20) sizer = wx.BoxSizer...wx.Button(panel, label="Start Thread") btn.Bind(wx.EVT_BUTTON, self.onButton) sizer = wx.BoxSizer...Progress") self.count = 0 self.progress = wx.Gauge(self, range=20) sizer = wx.BoxSizer...wx.Button(panel, label="Start Thread") btn.Bind(wx.EVT_BUTTON, self.onButton) sizer = wx.BoxSizer
filename = wx.TextCtrl(bkg) contents = wx.TextCtrl(bkg,style=wx.TE_MULTILINE | wx.HSCROLL) hbox = wx.BoxSizer...proportion=0,flag=wx.LEFT,border=5) hbox.Add(saveButton,proportion=0,flag=wx.LEFT,border=5) vbox = wx.BoxSizer...wx.BoxSizer的构造函数带有一个决定它是水平还是垂直的参数(wx.HORIZONTAL或者wx.VERTICAL),默认为水平。...例如,水平的BoxSizer中,filename组件的改变大小时获取了全部的额外空间。如果这3个部件都把proportion设为1,那么都会获得相等的空间。可以将proportion设定为任何数。...filename = wx.TextCtrl(bkg) contents = wx.TextCtrl(bkg,style=wx.TE_MULTILINE | wx.HSCROLL) hbox = wx.BoxSizer
以下是你将看到最常用的几种主要sizer类型: BoxSizer GridSizer FlexGridSizer 加上wx.BoxSizer的例子,看看我们是否可以让它更好地工作: 1 import...(parent=None, title='Hello World') 5 panel = wx.Panel(self) 6 my_sizer = wx.BoxSizer...__name__ == '__main__': 15 app = wx.App() 16 frame = MyFrame() 17 app.MainLoop() 这里创建一个wx.boxsizer...你还可以将BoxSizer的方向设置为wx.HORIZONTAL。当你这样做时,小部件将从左到右添加。 要将小部件添加到sizer,你将使用. add()。...(parent=None, title='Hello World') 6 panel = wx.Panel(self) 7 my_sizer = wx.BoxSizer
text_contents = wx.TextCtrl(panel,style=wx.TE_MULTILINE|wx.HSCROLL) #添加布局管理器 bsizer_top = wx.BoxSizer...wx.LEFT,border=5) bsizer_top.Add(bt_save,proportion=0,flag=wx.LEFT,border=5) bsizer_all = wx.BoxSizer...panel) text_contents = wx.TextCtrl(panel,style=wx.TE_MULTILINE|wx.HSCROLL) #添加布局管理器 bsizer_top = wx.BoxSizer...,flag=wx.LEFT,border=5) bsizer_top.Add(bt_save,proportion=0,flag=wx.LEFT,border=5) bsizer_all = wx.BoxSizer
self.text_pathword = wx.TextCtrl(panel, style=wx.TE_LEFT) 然后添加容器,横向排列 hsizer_user = wx.BoxSizer...hsizer_user.Add(self.text_user, proportion=1, flag=wx.ALL, border=5) hsizer_pwd = wx.BoxSizer...hsizer_pwd.Add(self.text_pwd, proportion=1, flag=wx.ALL, border=5) hsizer_path = wx.BoxSizer...hsizer_path.Add(self.text_pathword, proportion=1, flag=wx.ALL, border=5) hsizer_button = wx.BoxSizer...self.bt_ml, proportion=0, flag=wx.ALIGN_CENTER, border=5) 接着添加容器,纵向排列 vsizer_all = wx.BoxSizer
label="Fetch",size=(80,25)) submit.Bind(wx.EVT_BUTTON, self.fetchHandler) hbox = wx.BoxSizer...border=10) self.files = files = wx.ListBox(bkg) self.updateList() vbox = wx.BoxSizer
#self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) bSizer1 = wx.BoxSizer...( wx.VERTICAL ) bSizer2 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText1 = wx.StaticText...wx.ALIGN_CENTER|wx.ALL, 5 ) bSizer1.Add( bSizer2, 4, wx.EXPAND, 5 ) bSizer4 = wx.BoxSizer
-1) self.sld = wx.Slider(CenterPanel, -1, 75, 0, 750, (-1, -1), (150, -1), wx.SL_LABELS) vbox = wx.BoxSizer...(wx.VERTICAL) hbox = wx.BoxSizer(wx.HORIZONTAL) hbox2 = wx.BoxSizer(wx.HORIZONTAL) hbox3 = wx.BoxSizer...panel = wx.Panel(self, -1) centerPanel = wx.Panel(panel, -1) self.cpu = CPU(centerPanel, -1) hbox = wx.BoxSizer
self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self.onUpdate, self.timer) sizer = wx.BoxSizer...self.toggle.Bind(wx.EVT_TOGGLEBUTTON, self.onToggle) self.running = False sizer = wx.BoxSizer
wx.TAB_TRAVERSAL ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) bSizer1 = wx.BoxSizer...( wx.VERTICAL ) bSizer2 = wx.BoxSizer( wx.HORIZONTAL ) self.filename = wx.TextCtrl( self
__init__(self, parent) self.sizer = wx.BoxSizer(wx.VERTICAL) self.text = wx.StaticText(...__init__(self, parent) self.sizer = wx.BoxSizer(wx.VERTICAL) self.status = wx.StaticText
self.Bind(wx.EVT_BUTTON,self.Decode,decoderButton) """布局""" self.sizer0 = wx.BoxSizer...(wx.HORIZONTAL ) self.sizer2 = wx.BoxSizer(wx.HORIZONTAL) self.sizer2.Add(encoderButton..., 1, wx.EXPAND) self.sizer2.Add(decoderButton, 1, wx.EXPAND) self.sizer = wx.BoxSizer
parent=None, title=title) 8 9 self.mp3 = mp3 10 11 self.main_sizer = wx.BoxSizer...self.mp3.tag.title) 28 29 self.add_widgets('Title', self.title) 30 31 btn_sizer = wx.BoxSizer...接下来我们来编写add_widgets方法: 1 def add_widgets(self, label_text, text_ctrl): 2 3 row_sizer = wx.BoxSizer...然后,它创建一个水平方向的BoxSizer。 接下来,你将使用传入的文本为其label参数创建wx.staticText的实例。你还可以将其大小设置为50像素宽,默认高度设置为-1。...因为你希望标签位于文本控件之前,所以你将首先向BoxSizer添加StaticText小部件,然后添加文本控件。 最后,要将水平大小调整器添加到顶层垂直大小调整器。