python程序设计基础6:python 图形界面程序设计

 
 
    在python中有很多的GUI库,我选择的是比较成熟的wxpython.这个基本上可以满足我们的需要了,操作起来也比较简单。下面通过一些简单的例子逐步的来学习wxpython。
1.建立一个最简单的GUI窗口:
 
 
3 import wx
  2 app=wx.App()
  1 win=wx.Frame(None)
7   win.Show()                                                                                              
  1 app.MainLoop()


2,在里面加上必要的文字说明。

  1 import wx
  2 app=wx.App()
  3 win=wx.Frame(None,title='example')
  4 win.Show()
  5 app.MainLoop()

3,加上按钮。

  1 import wx
  2 app=wx.App()
  3 win=wx.Frame(None,title='example')
  4 btn=wx.Button(win,label='open')
  5 win.Show()
  6 app.MainLoop()

4,页面布局。
  1 import wx
  2 app=wx.App()
  3 win=wx.Frame(None,title='editor',size=(400,300))
  4 texinput=wx.TextCtrl(win,pos=(5,5),size=(210,25))
  5 openbtn=wx.Button(win,label='open',pos=(225,5),size=(80,25))
  6 savebtn=wx.Button(win,label='save',pos=(315,5),size=(80,25))
  7 contents=wx.TextCtrl(win,pos=(5,35),size=(380,250))
  8 win.Show()
  9 app.MainLoop()
得到的结果:

 python程序设计基础6:python 图形界面程序设计_第1张图片

5,事件控制

计算1+2+3……+n,在小窗口中输入数据n,得到输出结果:

代码:

 import wx
  2 class Frame(wx.Frame):
  3     def __init__(self,superion):
  4         wx.Frame.__init__(self,parent=superion,title='input and output computer',size=(400,200))
  5         panel=wx.Panel(self)
  6         wx.StaticText(panel,label='input n:',pos=(10,10))
  7         self.inputN=wx.TextCtrl(panel,pos=(150,10))
  8         wx.StaticText(panel,label='the sum till n:',pos=(10,50))
  9         self.outsum=wx.TextCtrl(panel,pos=(150,50))
 10         self.btnsum=wx.Button(panel,label='compute',pos=(150,100),size=(50,30))
 11         self.Bind(wx.EVT_BUTTON,self.f,self.btnsum)
 12  
 13     def f(self,event):
 14         n=self.inputN.GetValue()
 15         n=int(n)
 16         i=1
 17         s=0
 18         for i in range(1,n+1):
 19             s=s+i
 20         self.outsum.SetValue(str(s))
 21  
 22 if __name__=='__main__':
 23     app=wx.App()
 24     frame=Frame(None)
 25     frame.Show()
 26     app.MainLoop()

结果:

python程序设计基础6:python 图形界面程序设计_第2张图片




你可能感兴趣的:(python程序设计基础6:python 图形界面程序设计)