2014-11-23 60 views
1

我想將一個元素垂直和水平居中wx.BoxSizer。我想這unsuccessfuly(結果:該元素垂直居中對齊而不是水平...):wx.BoxSizer均以VERTICAL和HORIZONTAL爲中心

vsizer = wx.BoxSizer(wx.VERTICAL) 
hsizer = wx.BoxSizer(wx.HORIZONTAL) 
vsizer.AddStretchSpacer(1) 
vsizer.Add(hsizer, 0, wx.ALL, 15) 
vsizer.AddStretchSpacer(1) 
self.SetSizer(vsizer) 
hsizer.AddStretchSpacer(1) 
hsizer.Add(wx.StaticBitmap(self, -1, myimg), 0, wx.ALL, 15) 
hsizer.AddStretchSpacer(1) 

如何垂直和水平與wx.BoxSizer中心的元素?

回答

2

下面是一個簡單的例子:

import wx 

class Frame(wx.Frame): 
    def __init__(self): 
     wx.Frame.__init__(self, None, -1, "Vertical center") 
     self.text = wx.StaticText(self, label=("This should be centered both" 
            " vertically and horizontally")) 
     sizer_v = wx.BoxSizer(wx.VERTICAL) 
     sizer_h = wx.BoxSizer(wx.HORIZONTAL) 
     sizer_h.Add(self.text, 1, wx.CENTER) 
     sizer_v.Add(sizer_h, 1, wx.CENTER) 
     self.SetSizer(sizer_v) 

     self.Show() 

app = wx.App() 
Frame() 
app.MainLoop() 

wx.CENTER中心內wx.BoxSizer元素(滾動到頁面底部):http://wiki.wxpython.org/BoxSizerTutorial
HTH

+0

完美!正是我正在尋找的! – Basj 2014-11-23 23:18:09