用python实现的简易计算器

from tkinter import *
class Change:
    def __init__(self):
        window=Tk()
        window.title("Button deal")


        s=''
        frame1=Frame(window)
        frame2=Frame(window)
        frame2.pack()
        frame1.pack()
        button0=Button(frame1,text='0',command=self.pressb0)
        button1=Button(frame1,text='1',command=self.pressb1)
        button2=Button(frame1,text='2',command=self.pressb2)
        button3=Button(frame1,text='3',command=self.pressb3)
        button4=Button(frame1,text='4',command=self.pressb4)
        button5=Button(frame1,text='5',command=self.pressb5)
        button6=Button(frame1,text='6',command=self.pressb6)
        button7=Button(frame1,text='7',command=self.pressb7)
        button8=Button(frame1,text='8',command=self.pressb8)
        button9=Button(frame1,text='9',command=self.pressb9)
        buttona=Button(frame1,text='+',command=self.pressba)
        buttonb=Button(frame1,text='-',command=self.pressbb)
        buttonc=Button(frame1,text='*',command=self.pressbc)
        buttond=Button(frame1,text='/',command=self.pressbd)
        buttone=Button(frame1,text='c',command=self.pressbe)
        buttonf=Button(frame1,text='=',command=self.pressbf)
        self.label=Label(frame2,text=s)

        self.label.pack()
        #self.label.grid(row=1)
        button0.grid(row=5,column=2)
        button1.grid(row=2,column=1)
        button2.grid(row=2,column=2)
        button3.grid(row=2,column=3)
        button4.grid(row=3,column=1)
        button5.grid(row=3,column=2)
        button6.grid(row=3,column=3)
        button7.grid(row=4,column=1)
        button8.grid(row=4,column=2)
        button9.grid(row=4,column=3)
        buttona.grid(row=2,column=4)
        buttonb.grid(row=3,column=4)
        buttonc.grid(row=4,column=4)
        buttond.grid(row=5,column=1)
        buttone.grid(row=5,column=3)
        buttonf.grid(row=5,column=4)
        
        
        

        window.mainloop()

    def pressb0(self):
        self.label['text']+='0'

    def pressb1(self):
        self.label['text']+='1'

    def pressb2(self):
        self.label['text']+='2'

    def pressb3(self):
        self.label['text']+='3'

    def pressb4(self):
        self.label['text']+='4'

    def pressb5(self):
        self.label['text']+='5'

    def pressb6(self):
        self.label['text']+='6'

    def pressb7(self):
        self.label['text']+='7'

    def pressb8(self):
        self.label['text']+='8'

    def pressb9(self):
        self.label['text']+='9'

    def pressba(self):
        self.label['text']+='+'

    def pressbb(self):
        self.label['text']+='-'

    def pressbc(self):
        self.label['text']+='*'

    def pressbd(self):
        self.label['text']+='/'

    def pressbe(self):#清除
        self.label['text']=''

    def pressbf(self):
        self.label['text']=str(eval(self.label['text']))

Change()
 
 

写的有点长(新手),可以用循环去简化一些代码,这是我写的第一个GUI程序,可能中间会有bug,但是通过这个程序,自己确实也学到了很多东西。

下面说一下我对类中self新的理解吧,self就相当于C语言中的define,使用self的变量就相当于一个全局变量,调用后就可以在整个类的函数中都可以改变它。

猜你喜欢

转载自blog.csdn.net/pain_love/article/details/74978680