第十章:用户界面
1.以wxpython为例来讲解用户界面
下载安装了wxpython之后运行,在shell中进行开发
界面实例:
>>> import wx
>>> app=wx.App()
>>> win=wx.Frame(None,title="简单界面",size=(410,335))
>>> bkg=wx.Panel(win)
>>> lb=wx.Button(bkg,label="open")
>>> sb=wx.Button(bkg,label="save")
>>> filename=wx.TextCtrl(bkg)
>>> contents=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL)
>>> hbox=wx.BoxSizer()
>>> hbox.Add(filename,proportion=1,flag=wx.EXPAND)
<wx._core.SizerItem; proxy of <Swig Object of type 'wxSizerItem *' at 0x3463780> >
>>> hbox.Add(lb,proportion=0,flag=wx.LEFT,border=5)
<wx._core.SizerItem; proxy of <Swig Object of type 'wxSizerItem *' at 0x34637d0> >
>>> hbox.Add(sb,proportion=0,flag=wx.LEFT,border=5)
<wx._core.SizerItem; proxy of <Swig Object of type 'wxSizerItem *' at 0x3463820> >
>>> vbox=wx.BoxSizer(wx.VERTICAL)
>>> vbox.Add(hbox,proportion=0,flag=wx.EXPAND|wx.ALL,border=5)
<wx._core.SizerItem; proxy of <Swig Object of type 'wxSizerItem *' at 0x3463870> >
>>>vbox.Add(contents,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM|wx.RIGHT,border=5)
<wx._core.SizerItem; proxy of <Swig Object of type 'wxSizerItem *' at 0x34638c0> >
>>> bkg.SetSizer(vbox)
>>> win.Show()
True
以上就是一个简单的用户界面,熟悉java中swing会很容易地理解。
proportion相当于权值,分配空间所用
style--->设置水平或者竖直
flag参数,可以使用使用相关运算,类似style参数
EXPAND标记确保组件会扩展到所分配的空间中
wx.LEFT等标记组件边框会位于哪个边
2.事件处理
def load(event):
#相关代码
lb.Bind(wx.EVT_BUTTON,load)
其中的load为函数名,event表示事件。
另外app程序只能在shell中同时运行一个,如果想要运行多个,调用del app才可。
<!--EndFragment-->