0
我想學習wxpython在python中做圖形接口。 我想要的接口應該有2個StaticBoxes和一個應該在第一個靜態框中的按鈕。我想這樣的事情:將元素添加到wxpython中的StaticBox中
|----------------------------------------------|
| |
| ##### |
| |
| |
|----------------------------------------------|
| |
| |
| |
|----------------------------------------------|
我不知道爲什麼我在左上角獲得按鈕,我懷疑我可配置是錯誤的,這就是爲什麼它是不可能的staticbox的。我得到的東西是這樣的:
######-----------------------------------------|
| |
| |
| |
| |
|----------------------------------------------|
| |
| |
| |
|----------------------------------------------|
我的代碼是:
class Frame(wx.Frame):
def __init__(self, title):
wx.Frame.__init__(self, None, title=title, pos=(150,150), size=(600,600))
# Defining panel
panel = wx.Panel(self,-1)
# Elements of the frame
staticBoxUno = wx.StaticBox(panel, -1, 'Uno:', pos=wx.Point(-1, -1), size=wx.Size(600, 150), style=0)
staticBoxUno.SetOwnFont(wx.Font(8, wx.SWISS, wx.NORMAL, wx.BOLD, False, 'MS Shell Dlg'))
staticBoxDos = wx.StaticBox(panel, -1, 'Dos:', pos=wx.Point(-1, -1), size=wx.Size(600, -1), style=0)
staticBoxDos.SetOwnFont(wx.Font(8, wx.SWISS, wx.NORMAL, wx.BOLD, False, 'MS Shell Dlg'))
buttonUno = wx.Button(panel, -1, "OK")
#Initialization Sizers
boxMadre = wx.BoxSizer(wx.VERTICAL)
boxMadre.AddSpacer(5)
boxMadre.Add(staticBoxUno, 0, wx.EXPAND|wx.ALL, 0)
boxMadre.AddSpacer(5)
boxMadre.Add(staticBoxDos, 1, wx.EXPAND|wx.ALL, 0)
staticBoxUnoSizer = wx.StaticBoxSizer(staticBoxUno, wx.VERTICAL)
staticBoxUnoSizer.Add(buttonUno, -1, wx.EXPAND | wx.ALL, 5)
panel.SetSizer(boxMadre)
panel.Layout()
app = wx.App(redirect=True) # Error messages go to popup window
top = Frame("<<project>>")
top.Show()
app.MainLoop()
我想這個問題將是,當我嘗試將按鈕添加到StaticBoxUno,但我不知道到底什麼是失敗
非常感謝! 巴勃羅
非常感謝nepix32,現在的工作。我必須添加sizer而不是staticbox本身。 – Pablo