Python计算器

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()

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值