import wx
class MyFrame(wx.Frame):
btn_w,btn_h =50,50
pos_x,pos_y=20,80
def __init__(self):
wx.Frame.__init__(self,None,title="计算器",pos=(200,200),size=(300,500))
self.pl = wx.Panel(self,pos=(0,0),size=(300,500))
self.text = wx.TextCtrl(self.pl,pos=(20,20),size =(240,40))
self.btn_c = wx.Button(self.pl, label="C",pos=(self.pos_x,self.pos_y),size =(self.btn_w,self.btn_h))
self.btn_d = wx.Button(self.pl, label="/",pos=(self.pos_x+60, self.pos_y), size=(self.btn_w, self.btn_h))
self.btn_m = wx.Button(self.pl, label="*",pos=(self.pos_x+120, self.pos_y), size=(self.btn_w, self.btn_h))
self.btn_b = wx.Button(self.pl, label="<-",pos=(self.pos_x+180, self.pos_y), size=(self.btn_w, self.btn_h))
self.btn_7 = wx.Button(self.pl, label="7", pos=(self.pos_x, self.pos_y+60), size=(self.btn_w, self.btn_h))
self.btn_8 = wx.Button(self.pl, label="8", pos=(self.pos_x+60, self.pos_y+60), size=(self.btn_w, self.btn_h))
self.btn_9 = wx.Button(self.pl, label="9", pos=(self.pos_x+120, self.pos_y+60), size=(self.btn_w, self.btn_h))
self.btn_j = wx.Button(self.pl, label="-", pos=(self.pos_x+180, self.pos_y+60), size=(self.btn_w, self.btn_h))
self.btn_4 = wx.Button(self.pl, label="4", pos=(self.pos_x, self.pos_y+120), size=(self.btn_w, self.btn_h))
self.btn_5 = wx.Button(self.pl, label="5", pos=(self.pos_x+60, self.pos_y+120), size=(self.btn_w, self.btn_h))
self.btn_6 = wx.Button(self.pl, label="6", pos=(self.pos_x+120, self.pos_y+120), size=(self.btn_w, self.btn_h))
self.btn_add = wx.Button(self.pl, label="+", pos=(self.pos_x+180, self.pos_y+120), size=(self.btn_w, self.btn_h))
self.btn_1 = wx.Button(self.pl, label="1", pos=(self.pos_x, self.pos_y+180), size=(self.btn_w, self.btn_h))
self.btn_2 = wx.Button(self.pl, label="2", pos=(self.pos_x+60, self.pos_y+180), size=(self.btn_w, self.btn_h))
self.btn_3 = wx.Button(self.pl, label="3", pos=(self.pos_x+120, self.pos_y+180), size=(self.btn_w, self.btn_h))
self.btn_eq = wx.Button(self.pl, label="=", pos=(self.pos_x+180, self.pos_y+180), size=(self.btn_w, self.btn_h+60))
self.btn_0 = wx.Button(self.pl, label="0", pos=(self.pos_x, self.pos_y+240), size=(self.btn_w+60, self.btn_h))
self.btn_p = wx.Button(self.pl, label=".", pos=(self.pos_x+120, self.pos_y+240), size=(self.btn_w, self.btn_h))
#添加对应事件
self.Bind(wx.EVT_BUTTON,self.Onbtnc,self.btn_c)
self.Bind(wx.EVT_BUTTON, self.Onbtnd, self.btn_d)
self.Bind(wx.EVT_BUTTON, self.Onbtnm, self.btn_m)
self.Bind(wx.EVT_BUTTON, self.Onbtnb, self.btn_b)
self.Bind(wx.EVT_BUTTON, self.Onbtn1, self.btn_1)
self.Bind(wx.EVT_BUTTON, self.Onbtn2, self.btn_2)
self.Bind(wx.EVT_BUTTON, self.Onbtn3, self.btn_3)
self.Bind(wx.EVT_BUTTON, self.Onbtn4, self.btn_4)
self.Bind(wx.EVT_BUTTON, self.Onbtn5, self.btn_5)
self.Bind(wx.EVT_BUTTON, self.Onbtn6, self.btn_6)
self.Bind(wx.EVT_BUTTON, self.Onbtn7, self.btn_7)
self.Bind(wx.EVT_BUTTON, self.Onbtn8, self.btn_8)
self.Bind(wx.EVT_BUTTON, self.Onbtn9, self.btn_9)
self.Bind(wx.EVT_BUTTON, self.Onbtnadd, self.btn_add)
self.Bind(wx.EVT_BUTTON, self.Onbtneq, self.btn_eq)
self.Bind(wx.EVT_BUTTON, self.Onbtn0, self.btn_0)
self.Bind(wx.EVT_BUTTON, self.Onbtnp, self.btn_p)
self.Bind(wx.EVT_BUTTON, self.Onbtnj, self.btn_j)
def Onbtn1(self,event):
self.text.AppendText("1")
def Onbtn2(self,event):
self.text.AppendText("2")
def Onbtn3(self,event):
self.text.AppendText("3")
def Onbtn4(self,event):
self.text.AppendText("4")
def Onbtn5(self,event):
self.text.AppendText("5")
def Onbtn6(self,event):
self.text.AppendText("6")
def Onbtn7(self,event):
self.text.AppendText("7")
def Onbtn8(self,event):
self.text.AppendText("8")
def Onbtn9(self,event):
self.text.AppendText("9")
def Onbtnb(self,event):
entry = self.text.GetValue()
self.text.SetValue(entry[:-1])
def Onbtnm(self, event):
self.text.AppendText("*")
def Onbtnc(self, event):
self.text.Clear()
def Onbtnd(self, event):
self.text.AppendText("/")
def Onbtnadd(self, event):
self.text.AppendText("+")
def Onbtn0(self, event):
self.text.AppendText("0")
def Onbtnp(self, event):
self.text.AppendText(".")
def Onbtneq(self, event):
entry = self.text.GetValue()
result = str(eval(entry))
self.text.AppendText("=")
self.text.AppendText(result)
def Onbtnj(self, event):
self.text.AppendText("-")
if __name__ == "__main__":
app = wx.App()
frm = MyFrame()
frm.Show()
app.MainLoop()
Python计算器
最新推荐文章于 2024-06-13 23:55:30 发布