http://blog.csdn.net/karldoenitz/article/details/11581575

今天写一个wxpython的计算器,此处代码:

 

[python] view plaincopyprint?
 
  1. #!/usr/bin/python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. # calculator.py  
  5.   
  6. import wx  
  7.   
  8. class Example(wx.Frame):  
  9.     bianliang1 = '0'  
  10.     bianliang2 = '0'  
  11.     judge = ""  
  12.       
  13.     def __init__(self, parent, title):  
  14.         super(Example, self).__init__(parent, title=title, size=(300, 250))  
  15.   
  16.         self.InitUI()  
  17.         self.Centre()  
  18.         self.Show()  
  19.       
  20.     def OnButtonClick0(self, event):  
  21.         var = self.display.GetValue()  
  22.         var = int(var)*10 + 0  
  23.         self.display.Value = str(var)  
  24.           
  25.     def OnButtonClick1(self, event):  
  26.         var = self.display.GetValue()  
  27.         var = int(var)*10 + 1  
  28.         self.display.Value = str(var)  
  29.           
  30.     def OnButtonClick2(self, event):  
  31.         var = self.display.GetValue()  
  32.         var = int(var)*10 + 2  
  33.         self.display.Value = str(var)  
  34.           
  35.     def OnButtonClick3(self, event):  
  36.         var = self.display.GetValue()  
  37.         var = int(var)*10 + 3  
  38.         self.display.Value = str(var)  
  39.           
  40.     def OnButtonClick4(self, event):  
  41.         var = self.display.GetValue()  
  42.         var = int(var)*10 + 4  
  43.         self.display.Value = str(var)  
  44.           
  45.     def OnButtonClick5(self, event):  
  46.         var = self.display.GetValue()  
  47.         var = int(var)*10 + 5  
  48.         self.display.Value = str(var)  
  49.       
  50.     def OnButtonClick6(self, event):  
  51.         var = self.display.GetValue()  
  52.         var = int(var)*10 + 6  
  53.         self.display.Value = str(var)  
  54.           
  55.     def OnButtonClick7(self, event):  
  56.         var = self.display.GetValue()  
  57.         var = int(var)*10 + 7  
  58.         self.display.Value = str(var)  
  59.           
  60.     def OnButtonClick8(self, event):  
  61.         var = self.display.GetValue()  
  62.         var = int(var)*10 + 8  
  63.         self.display.Value = str(var)  
  64.   
  65.     def OnButtonClick9(self, event):  
  66.         var = self.display.GetValue()  
  67.         var = int(var)*10 + 9  
  68.         self.display.Value = str(var)  
  69.           
  70.     def OnButtonCls(self, event):  
  71.         self.display.Value = '0'  
  72.           
  73.     def OnButtonBck(self, event):  
  74.         var = self.display.GetValue()  
  75.         var = int(var)/10  
  76.         self.display.Value = str(var)  
  77.           
  78.     def OnButtonClickClose(self, event):  
  79.         wx.Exit()  
  80.           
  81.     def OnButtonClickJia(self, event):  
  82.         self.bianliang1 = self.display.GetValue()  
  83.         self.display.Value = '0'  
  84.         self.judge="+"  
  85.           
  86.     def OnButtonClickJian(self, event):  
  87.         self.bianliang1 = self.display.GetValue()  
  88.         self.display.Value = '0'  
  89.         self.judge="-"  
  90.           
  91.     def OnButtonClickChe(self, event):  
  92.         self.bianliang1 = self.display.GetValue()  
  93.         self.display.Value = '0'  
  94.         self.judge="*"  
  95.           
  96.     def OnButtonClickChu(self, event):  
  97.         self.bianliang1 = self.display.GetValue()  
  98.         self.display.Value = '0'  
  99.         self.judge="/"  
  100.           
  101.     def OnButtonClickEqu(self, event):  
  102.         bianliang2 = self.display.GetValue()  
  103.         if self.judge == '+':  
  104.             self.display.Value = str(int(self.bianliang1)+int(bianliang2))  
  105.         elif self.judge == '-':  
  106.             self.display.Value = str(int(self.bianliang1)-int(bianliang2))  
  107.         elif self.judge == '*':  
  108.             self.display.Value = str(int(self.bianliang1)*int(bianliang2))  
  109.         elif self.judge == '/':  
  110.             self.display.Value = str(int(self.bianliang1)/int(bianliang2))  
  111.           
  112.     def InitUI(self):  
  113.       
  114.         menubar = wx.MenuBar()  
  115.         fileMenu = wx.Menu()  
  116.         menubar.Append(fileMenu, '&File')  
  117.         self.SetMenuBar(menubar)  
  118.   
  119.         vbox = wx.BoxSizer(wx.VERTICAL)  
  120.         self.display = wx.TextCtrl(self, style=wx.TE_RIGHT,value='0')  
  121.         vbox.Add(self.display, flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=4)  
  122.         gs = wx.GridSizer(4, 4, 5, 5)  
  123.           
  124.         buttonCls = wx.Button(self, label='Cls')  
  125.         buttonBck = wx.Button(self, label='Bck')  
  126.         buttonClose = wx.Button(self, label='Close')  
  127.         button7 = wx.Button(self, label='7')  
  128.         button8 = wx.Button(self, label='8')  
  129.         button9 = wx.Button(self, label='9')  
  130.         buttonChu = wx.Button(self, label='/')  
  131.         button4 = wx.Button(self, label='4')  
  132.         button5 = wx.Button(self, label='5')  
  133.         button6 = wx.Button(self, label='6')  
  134.         buttonChen = wx.Button(self, label='*')  
  135.         button1 = wx.Button(self, label='1')  
  136.         button2 = wx.Button(self, label='2')  
  137.         button3 = wx.Button(self, label='3')  
  138.         buttonJian = wx.Button(self, label='-')  
  139.         button0 = wx.Button(self, label='0')  
  140.         buttonDot = wx.Button(self, label='.')  
  141.         buttonEqu = wx.Button(self, label='=')  
  142.         buttonPlus = wx.Button(self, label='+')  
  143.   
  144.         gs.AddMany([  
  145.             (buttonCls, 0, wx.EXPAND),  
  146.             (buttonBck, 0, wx.EXPAND),  
  147.             (wx.StaticText(self), wx.EXPAND),  
  148.             (buttonClose, 0, wx.EXPAND),  
  149.             (button7, 0, wx.EXPAND),  
  150.             (button8, 0, wx.EXPAND),  
  151.             (button9, 0, wx.EXPAND),  
  152.             (buttonChu, 0, wx.EXPAND),  
  153.             (button4, 0, wx.EXPAND),  
  154.             (button5, 0, wx.EXPAND),  
  155.             (button6, 0, wx.EXPAND),  
  156.             (buttonChen, 0, wx.EXPAND),  
  157.             (button1, 0, wx.EXPAND),  
  158.             (button2, 0, wx.EXPAND),  
  159.             (button3, 0, wx.EXPAND),  
  160.             (buttonJian, 0, wx.EXPAND),  
  161.             (button0, 0, wx.EXPAND),  
  162.             (buttonDot, 0, wx.EXPAND),  
  163.             (buttonEqu, 0, wx.EXPAND),  
  164.             (buttonPlus, 0, wx.EXPAND)  
  165.             ])  
  166.           
  167.         buttonCls.Bind(wx.EVT_BUTTON,self.OnButtonCls)  
  168.         buttonBck.Bind(wx.EVT_BUTTON,self.OnButtonBck)  
  169.         buttonClose.Bind(wx.EVT_BUTTON,self.OnButtonClickClose)  
  170.         button0.Bind(wx.EVT_BUTTON,self.OnButtonClick0)  
  171.         button1.Bind(wx.EVT_BUTTON,self.OnButtonClick1)  
  172.         button2.Bind(wx.EVT_BUTTON,self.OnButtonClick2)  
  173.         button3.Bind(wx.EVT_BUTTON,self.OnButtonClick3)  
  174.         button4.Bind(wx.EVT_BUTTON,self.OnButtonClick4)  
  175.         button5.Bind(wx.EVT_BUTTON,self.OnButtonClick5)  
  176.         button6.Bind(wx.EVT_BUTTON,self.OnButtonClick6)  
  177.         button7.Bind(wx.EVT_BUTTON,self.OnButtonClick7)  
  178.         button8.Bind(wx.EVT_BUTTON,self.OnButtonClick8)  
  179.         button9.Bind(wx.EVT_BUTTON,self.OnButtonClick9)  
  180.         buttonEqu.Bind(wx.EVT_BUTTON,self.OnButtonClickEqu)  
  181.         buttonPlus.Bind(wx.EVT_BUTTON,self.OnButtonClickJia)  
  182.         buttonJian.Bind(wx.EVT_BUTTON,self.OnButtonClickJian)  
  183.         buttonChen.Bind(wx.EVT_BUTTON,self.OnButtonClickChe)  
  184.         buttonChu.Bind(wx.EVT_BUTTON,self.OnButtonClickChu)  
  185.           
  186.         vbox.Add(gs, proportion=1, flag=wx.EXPAND)  
  187.         self.SetSizer(vbox)  
  188.           
  189.   
  190.   
  191. if __name__ == '__main__':  
  192.     
  193.     app = wx.App()  
  194.     Example(None, title='Calculator')  
  195.     app.MainLoop()  
Posted on 2014-12-03 21:22  旅途  阅读(1069)  评论(0)    收藏  举报