首页 > 解决方案 > 如何在 python 计算器中添加删除按钮?

问题描述

我需要帮助将删除按钮添加到 python 计算器。我尝试了网站上建议的其他方法,但没有奏效。如果您能帮助我,我将不胜感激,因为我想知道如何为未来的项目做到这一点。这是我的代码:

from tkinter import*



def btnClick(numbers):
    global operator
    operator=operator + str(numbers)
    text_Input.set(operator)

def btnClearDisplay() :
    global operator
    operator=""
    text_Input.set("")

def btnEqualsInput():
    global operator
    sumup=str(eval(operator))
    text_Input.set(sumup)
    operator=""

def backspace(self):
#check if all has been removed
#make sure you import the re module
    if re.match(r'\d$', self.current):
        self.display(0)
        self.new_num = True
    else:
        self.current = self.current[:-1]    
        self.display(self.current)

cal = Tk()
cal.title("Calculator")
operator=""
text_Input =StringVar()

txtDisplay = Entry(cal,font=('arial black', 20,'bold') , textvariable=text_Input, bd=30, insertwidth=6,
bg="powder blue", justify='right').grid(columnspan=6)

btn1=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="1",command=lambda:btnClick(1), bg="powder blue",).grid(row=1,column=0)

btn2=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="2",command=lambda:btnClick(2), bg="powder blue").grid(row=1,column=1)

btn3=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="3",command=lambda:btnClick(3), bg="powder blue").grid(row=1,column=2)

Addition=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="+",command=lambda:btnClick("+"), bg="powder blue").grid(row=1,column=3)
#===================================================================================

btn4=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="4",command=lambda:btnClick(4), bg="powder blue").grid(row=2,column=0)

btn5=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="5",command=lambda:btnClick(5), bg="powder blue").grid(row=2,column=1)

btn6=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,
            text="6",command=lambda:btnClick(6), bg="powder blue").grid(row=2,column=2)

Subtraction=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="-",command=lambda:btnClick("-"), bg="powder blue").grid(row=2,column=3)

#===================================================================================

btn7=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="7",command=lambda:btnClick(7), bg="powder blue").grid(row=3,column=0)

btn8=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="8",command=lambda:btnClick(8), bg="powder blue").grid(row=3,column=1)

btn9=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="9",command=lambda:btnClick(9), bg="powder blue").grid(row=3,column=2)

Multiplication=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="x",command=lambda:btnClick("x"), bg="powder blue").grid(row=3,column=3)

#===================================================================================

Clear=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="CE",command= btnClearDisplay, bg="powder blue").grid(row=4,column=0)

btn0=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="0",command=lambda:btnClick(0), bg="powder blue").grid(row=4,column=1)

EQUALS=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="=",command=btnEqualsInput, bg="powder blue").grid(row=4,column=3)

Division=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="÷",command=lambda:btnClick("÷"), bg="powder blue").grid(row=4,column=2)

#===================================================================================

Delete=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'),
            text="÷",command=lambda:btnClick("÷"), bg="powder blue").grid(row=4,column=2)

cal.mainloop()

谢谢你。如果您能帮助我,我将不胜感激。

标签: pythontkinter

解决方案


删除按钮的功能如下:

def btnDelete():
    global operator
    operator=operator[:-1]
    text_Input.set(operator)

并改变你的

Delete=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'), text="÷",command=lambda:btnClick("÷"), bg="powder blue").grid(row=4,column=2)

Delete=Button(cal,padx=16,bd=8, fg="black",font=('arial black', 20,'bold'), text="Delete",command=btnDelete, bg="powder blue").grid(row=4,column=2)


推荐阅读