`
onlynima
  • 浏览: 5300 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

从零开始学Python

阅读更多

第十章:用户界面

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

以上就是一个简单的用户界面,熟悉javaswing会很容易地理解。

proportion相当于权值,分配空间所用

style--->设置水平或者竖直

flag参数,可以使用使用相关运算,类似style参数

EXPAND标记确保组件会扩展到所分配的空间中

wx.LEFT等标记组件边框会位于哪个边

2.事件处理

        def load(event):

            #相关代码

        lb.Bind(wx.EVT_BUTTON,load)

        其中的load为函数名,event表示事件。

另外app程序只能在shell中同时运行一个,如果想要运行多个,调用del app才可。

<!--EndFragment-->

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics