我用wx.BoxSizer公司. 以下是源代码:'
import wx
# MAIN PROGRAM...
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "My Frame", size = (600, 600))
mainPanel = wx.Panel(self)
mainBox = wx.BoxSizer(wx.VERTICAL)
header1 = wx.StaticText(mainPanel, label = 'Header1:')
header2 = wx.StaticText(mainPanel, label = 'Header2:')
panel1 = wx.Panel(mainPanel, size = (200, 200), style = wx.SUNKEN_BORDER)
panel2 = wx.Panel(mainPanel, size = (200, 200), style = wx.SUNKEN_BORDER)
box1 = wx.BoxSizer(wx.HORIZONTAL)
box1.AddSpacer(50)
box1.Add(header1, 0, wx.ALL, 5)
box1.AddSpacer(50)
box1.Add(header2, 0, wx.ALL, 5)
box2 = wx.BoxSizer(wx.HORIZONTAL)
box2.Add(panel1, 0, wx.ALL, 5)
box2.Add(panel2, 0, wx.ALL, 5)
mainBox.Add(box1, 0, wx.ALL, 5)
mainBox.Add(box2, 0, wx.ALL, 5)
mainPanel.SetSizer(mainBox)
#self.Center()
if __name__ == '__main__':
app = wx.App()
frame = MyFrame()
frame.Show(True)
app.MainLoop()
print 'Exiting...'
问题是,当我在每个页眉的左侧添加水平间距时,它也会在页眉和凹陷的边框header1和header2之间添加垂直间距。有没有办法只在标题前加上水平间距而不加垂直间距作为副作用? 谢谢。在
---编辑---
回答您的意见: 以下是程序的图片: 简单的BoxSizer程序。。。在
绿色的“空间”是想要的空间,而红色的“空间”是不必要的副作用。我基本上只想要绿色的空间,但我不想要红色的空间,我希望页眉与两个面板齐平(就像直接在上面……)。 现在,我要做绝对定位,让它工作,我只是想知道你是否能让它与BoxSizer或其他布局管理器一起工作。。。 再次感谢。在
当你写作的时候
你在四周增加5个像素。在
所以:
^{pr2}$在标题1下方添加5个小馅饼
在面板1上方添加5个像素
在标题1下方添加5个像素(包含在方框1中)
在panel1上方添加5个像素(包含在方框2中)
总共增加了20个像素。在
如果你不想在垂直方向空白,不要写
相反,像这样
我找到了解决办法!在
而不是这样: 箱1。添加垫片(50)
这样做。。。 方框1。添加垫片((50,0))
真管用,耶! 谢谢。在
相关问题 更多 >
编程相关推荐