yzc164 发表于 2018-8-14 06:25:30

Python Tkinter学习之计算器

  
fromtkinter import *
  

  
count = Tk()
  
count.title("纯醪八盅@计算器")
  

  
def clear():
  
    v1.set("")
  
    v2.set("")
  
    v3.set("")
  
def calc():
  
    print(v1.get(),v2.get())
  
    print(v4.get())
  
    if v4.get()=="+":
  
      result = int(v1.get()) + int(v2.get())
  
    elif v4.get()=="-":
  
      result = int(v1.get()) - int(v2.get())
  
    elif v4.get()=="x":
  
      result = int(v1.get()) * int(v2.get())
  
    else:
  
      result = int(v1.get()) / int(v2.get())
  
    v3.set(result)
  

  
def test(content):
  
    return content.isdigit()
  

  

  

  
frame = Frame(count)
  
frame.pack(padx=10,pady=10)
  

  
v1=StringVar()
  
v2=StringVar()
  
v3=StringVar()
  

  
testEnt = count.register(test)
  

  
entry_1 = Entry(frame,width = 10,textvariable=v1,validate="key",validatecommand=(testEnt,"%P"))#
  
entry_1.grid(row=0,column=0,padx=5,pady=5)
  

  
v4=StringVar()
  
v4.set("+")
  
label = Label(frame,textvariable=v4).grid(row=0,column=1,padx=5,pady=5)
  

  
entry_2 = Entry(frame,width = 10,textvariable=v2,validate="key",validatecommand=(testEnt,"%P"))
  
entry_2.grid(row=0,column=2,padx=5,pady=5)
  

  
label2 = Label(frame,text="=").grid(row=0,column=3,padx=5,pady=5)
  

  
entry_3 = Entry(frame,width = 10,textvariable=v3,state ="readonly")#显示结果的区域只读,不可修改
  
entry_3.grid(row=0,column=4,padx=5,pady=5)
  
def set1():
  
    v4.set("+")
  
def set2():
  
    v4.set("-")
  
def set3():
  
    v4.set("x")
  
def set4():
  
    v4.set("/")
  
button1 = Button(frame,text="+",command = set1).grid(row=1,column=1,padx=5,pady=5)
  
button2 = Button(frame,text="-",command = set2).grid(row=1,column=2,padx=5,pady=5)
  
button3 = Button(frame,text="x",command = set3).grid(row=1,column=3,padx=5,pady=5)
  
button4 = Button(frame,text="/",command = set4).grid(row=1,column=4,padx=5,pady=5)
  

  
button5 = Button(frame,text="清空",command = clear).grid(row=2,column=1,padx=5,pady=5)
  
button6 = Button(frame,text="=",command=calc).grid(row=2,column=3,padx=5,pady=5)
  

  

  
mainloop()
页: [1]
查看完整版本: Python Tkinter学习之计算器