我知道这是一个非常简单的问题,但我花了几个小时试图找出解决方案。我希望我的面板是一个 50x50 的蓝色框,不会改变大小,并保持在窗口的中心。我尝试过分别使用水平和垂直的内部和外部尺寸确定器,但它似乎只识别外部尺寸确定器。如果有人能帮助我,我将不胜感激。 导入wx
class Main(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'Main',size=(700,500))
self.SetBackgroundColour('white')
panel = wx.Panel(self,wx.ID_ANY,size=(50,50))
panel.SetBackgroundColour('blue')
sizer=wx.BoxSizer()
sizer.Add(panel,0,wx.ALIGN_CENTER|wx.ALL)
self.SetSizer(sizer)
if __name__=='__main__':
app=wx.App()
frame=Main(parent=None, id=-1)
frame.Show()
app.MainLoop()
最佳答案
在面板的两侧添加拉伸(stretch)间隔即可实现
import wx
class Main(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, 'Main', size=(700, 500))
self.SetBackgroundColour('white')
panel = wx.Panel(self, wx.ID_ANY, size=(50, 50))
panel.SetBackgroundColour('blue')
sizer = wx.BoxSizer()
sizer.AddStretchSpacer(1)
sizer.Add(panel, 0, wx.ALIGN_CENTER)
sizer.AddStretchSpacer(1)
self.SetSizer(sizer)
if __name__ == '__main__':
app = wx.App()
frame = Main(parent=None, id=-1)
frame.Show()
app.MainLoop()
关于python - wxPython。如何使静态尺寸面板居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20737965/