【发布时间】:2018-01-08 11:29:27
【问题描述】:
我正在尝试使用 wxPython-Phoenix 创建一个简单的图形界面,但小部件没有显示,我不知道为什么。
我已选择使用 wx.FlexGridSizer() 作为大小调整器来处理小部件的定位。
附上我的代码:
class App_Frame(wx.Frame):
def __init__(self,title=""):
#Containers
main_Frame = wx.Frame.__init__(self,None,-1,title)
main_Panel = wx.Panel(self)
#-----------Controls------------
#Deal Name
Deal_Name_Lbl = wx.StaticText(main_Panel,-1,"Deal Name:",style=wx.ALIGN_CENTER)
Deal_Name_Txt = wx.TextCtrl(main_Panel,-1,"Deal Name")
#Num Copies
Num_Copies_lbl = wx.StaticText(main_Panel,-1,"Number of Copies:",style=wx.ALIGN_CENTER)
Num_Copies_Txt = wx.TextCtrl(main_Panel,-1,"Num Copies")
#--------------Sizer--------------
flex_grid_sizer = wx.FlexGridSizer(cols=2,vgap=6,hgap=6)
flex_grid_sizer.AddGrowableCol(1)
#Adding objs to sizer
flex_grid_sizer.Add(Deal_Name_Lbl,0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
flex_grid_sizer.Add(Deal_Name_Txt,0,wx.EXPAND)
flex_grid_sizer.Add(Num_Copies_lbl,0,wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
flex_grid_sizer.Add(Num_Copies_Txt,0,wx.EXPAND)
#Set and fit sizer
self.SetSizer(flex_grid_sizer)
self.Fit()
class App_(wx.App):
def OnInit(self):
Main_Frame = App_Frame("Paper")
Main_Frame.Show()
return True
#--------------------- MAIN FUNCTION ----------------------
def Main():
Main_Window = App_()
Main_Window.MainLoop()
#--- Call of Main----
Main()
...我得到的输出如下:
任何类型的指导都会很棒。 谢谢你。
【问题讨论】:
标签: python-3.x user-interface wxpython