繁体   English   中英

嗨,我正在尝试使用 python 在 Spyder 中构建一个简单的计算器(只是添加)。 如何定义 end 以便删除以前的数字?

[英]Hi, I am trying to build a simple calculator (just adds) in Spyder using python. How do I define end so that it will delete the previous number?

import tkinter as tk

root = tk.Tk()

root.title("Simple Calculator")

e= tk.Entry(root,width=35, borderwidth=5)
e.grid(row=0,column=0, columnspan=3, padx=10, pady=10)

#define button_click
def button_click(number):
   
         e.delete(0,END) 
   
         e.insert(0,number)
    
#Define Buttons

button_1 = tk.Button(root, text="1", padx=40, pady=20, command= lambda: button_click(1))

button_2 = tk.Button(root, text="2", padx=40, pady=20, command= lambda: button_click(2))

button_3 = tk.Button(root, text="3", padx=40, pady=20, command=lambda: button_click(3))

button_4 = tk.Button(root, text="4", padx=40, pady=20, command=lambda: button_click(4))

button_5 = tk.Button(root, text="5", padx=40, pady=20, command=lambda: button_click(5))

button_6 = tk.Button(root, text="6", padx=40, pady=20, command=lambda: button_click(6))

button_7 = tk.Button(root, text="7", padx=40, pady=20, command=lambda: button_click(7))

button_8 = tk.Button(root, text="8", padx=40, pady=20, command=lambda: button_click(8))

button_9 = tk.Button(root, text="9", padx=40, pady=20, command=lambda: button_click(9))

button_0 = tk.Button(root, text="0", padx=40, pady=20, command=lambda: button_click(0))

button_add = tk.Button(root, text="+", padx=39, pady=20, command=lambda: button_click())

button_equal = tk.Button(root, text="=", padx=91, pady=20, command=lambda: button_click())

button_clear = tk.Button(root, text="Clear", padx=79, pady=20, command=lambda: button_click())

# Put the buttons on the screen

button_1.grid(row=3, column=0)

button_2.grid(row=3, column=1)

button_3.grid(row=3, column=2)

button_4.grid(row=2, column=0)

button_5.grid(row=2, column=1)

button_6.grid(row=2, column=2)

button_7.grid(row=1, column=0)

button_8.grid(row=1, column=1)

button_9.grid(row=1, column=2)

button_0.grid(row=4, column=0)

button_clear.grid(row=4, column=1, columnspan=2)

button_add.grid(row=5, column=0)

button_equal.grid(row=5, column=1, columnspan=2)

root.mainloop()

简单地

def button_click(number):
         e.delete(0, tk.END)  # tk.END instead of END
         e.insert(0,number)

这是因为你用过

import tkinter as tk

这意味着 tkinter 中的所有函数都存储在tk变量中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM