我最近开始使用wxPython构建GUI,并尝试创建以下布局:
Button1 Button2 Button3
----------------------------------------
listbox | textctrl
按钮应具有灵活的宽度,扩展以填充框架的整个宽度,并在它们之间添加边框(每个按钮的宽度(包括边框)为框架的1/3)。它们的高度应设置为以像素为单位的高度。你知道吗
列表框应该垂直填充帧,并且具有x像素的设置宽度
textcrol应该是一个文本框,它可以在垂直和水平方向上扩展以填充框架的宽度。你知道吗
这是我的代码:
mainPanel = wx.Panel(self, -1)
parentBox = wx.BoxSizer(wx.VERTICAL)
menubar = wx.MenuBar()
filem = wx.Menu()
menubar.Append(filem, '&File')
self.SetMenuBar(menubar)
navPanel = wx.Panel(mainPanel, -1, size=(1000, 80))
navBox = wx.BoxSizer(wx.HORIZONTAL)
newSection = wx.Button(navPanel, self.ID_NEW, 'New')
renSection = wx.Button(navPanel, self.ID_RENAME, 'Rename')
dltSection = wx.Button(navPanel, self.ID_DELETE, 'Delete')
navBox.Add(newSection, 1, wx.EXPAND | wx.ALL, 5)
navBox.Add(renSection, 1, wx.EXPAND | wx.ALL, 5)
navBox.Add(dltSection, 1, wx.EXPAND | wx.ALL, 5)
navPanel.SetSizer(navBox)
contentPanel = wx.Panel(mainPanel, -1, size=(1000, 600))
contentBox = wx.BoxSizer(wx.HORIZONTAL)
self.listbox = wx.ListBox(contentPanel, -1, size=(300, 700))
self.settings = wx.TextCtrl(contentPanel, -1)
contentBox.Add(self.listbox, 0)
contentBox.Add(self.settings, 1, wx.EXPAND | wx.ALL, 5)
contentPanel.SetSizer(contentBox)
parentBox.Add(navPanel, 0, wx.EXPAND | wx.ALL, 5)
parentBox.Add(contentPanel, 1, wx.EXPAND | wx.ALL, 5)
mainPanel.SetSizer(parentBox)
出了点问题,因为我看到的不是我期望看到的,有人能帮我吗?你知道吗
它为我工作,我在win64,python 32位2.7.3.3,wx'2.8.12.1(msw unicode)'。完整的工作测试示例为:
请注意,添加了
Fit()
的主sizer,以及添加到listbox的5px border。你知道吗相关问题 更多 >
编程相关推荐