Python 在计算器应用程序中按下按钮时不会发生任何事情

Python 在计算器应用程序中按下按钮时不会发生任何事情,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,首先让我说我只是一个编程初学者。我刚刚开始使用Python,我在制作一个小型计算器项目时遇到了一个问题 代码如下: from tkinter import * root = Tk() # ****Sum**** def get_sum(event): num1 = int(num1Entry.get()) num2 = int(num2Entry.get()) sum = num1 + num2 num1Entry = Entry(root, wi

首先让我说我只是一个编程初学者。我刚刚开始使用Python,我在制作一个小型计算器项目时遇到了一个问题

代码如下:

from tkinter import *


root = Tk()

#       ****Sum****

def get_sum(event):
    num1 = int(num1Entry.get())
    num2 = int(num2Entry.get())
    sum = num1 + num2


num1Entry = Entry(root, width=20)
num1Entry.grid(row=0, column=0)

Label(root, text="+").grid(row=0, column=1)

num2Entry = Entry(root, width=20)
num2Entry.grid(row=0, column=2)

equalButton = Button(root, text="=")


equalButton.bind("<Button-1>", get_sum)

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

sumEntry = Entry(root, width=20)
sumEntry.grid(row=0, column=4)


#       ****Minus****

def get_minus(event):
    n1 = int(n1Entry.get())
    n2 = int(n2Entry.get())
    minus = n1 - n2


n1Entry = Entry(root, width=20)
n1Entry.grid(row=1, column=0)

Label(root, text="-").grid(row=1, column=1)

n2Entry = Entry(root, width=20)
n2Entry.grid(row=1, column=2)

equal1Button = Button(root, text="=")

equal1Button.bind("<Button-1>", get_minus)

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

minusEntry = Entry(root, width=20)
minusEntry.grid(row=1, column=4)


root.mainloop()
从tkinter导入*
root=Tk()
#****总额****
def get_sum(事件):
num1=int(num1Entry.get())
num2=int(num2Entry.get())
总和=num1+num2
num1Entry=Entry(根,宽度=20)
numentry.grid(行=0,列=0)
标签(根,text=“+”).grid(行=0,列=1)
num2Entry=Entry(根,宽度=20)
num2Entry.grid(行=0,列=2)
equalButton=按钮(根,text=“=”)
equalButton.bind(“,get_sum)
equalButton.grid(行=0,列=3)
SUMMENTRY=Entry(根,宽度=20)
网格(行=0,列=4)
#****减去****
def get_减号(事件):
n1=int(n1Entry.get())
n2=int(n2Entry.get())
负=n1-n2
N1入口=入口(根,宽度=20)
n1Entry.grid(行=1,列=0)
标签(根,text=“-”).grid(行=1,列=1)
n2Entry=入口(根,宽度=20)
n2Entry.grid(行=1,列=2)
equal1Button=按钮(根,text=“=”)
equal1Button.bind(“,get_减号)
equal1Button.grid(行=1,列=3)
最小入口=入口(根,宽度=20)
minusEntry.grid(行=1,列=4)
root.mainloop()
正如你们中的一些人可能注意到的,代码的第一部分(求和部分)不是我做的。我从这个网站的某个地方复制了它(我不记得是谁和什么时候复制的),我想给它添加其他功能(比如“-”、“*”或“/”),但我遇到了这个问题,我希望你们中的一些人能帮我解决这个问题

有两个条目,我在其中键入数字,当我点击“=”按钮时,它应该会显示结果。 但是,当我单击“=”按钮时,什么也没有发生。由于颜色改变,它会注册单击,但结果不会显示。我不知道为什么,我希望你们中的一些人能指出这个错误

我在使用控制台运行或单击按钮时没有收到任何错误,因此我不知道错误实际在哪里


请注意,我仍然是Python的初学者,您做得很好,调用了函数并添加了数字。但是,您没有任何东西可以向用户显示。如果您在函数末尾添加了
print(sum)
,您将看到它被打印出来。或者,我假设您希望将其插入Equals条目:

def get_sum(event=None):
    num1 = int(num1Entry.get())
    num2 = int(num2Entry.get())
    sum = num1 + num2
    print('sum is', sum)
    sumEntry.delete(0, END) # clear
    sumEntry.insert(0, sum)
另外,您应该使用
命令
参数,而不是
绑定

equalButton = Button(root, text="=", command=get_sum)

你需要实际描述你的具体问题-你尝试了什么,发生了什么,你预期会发生什么,它们有什么不同,你犯了什么错误,等等。这比很多关于初学者的废话更重要。您需要在构造函数调用中添加一个
command=func
关键字参数,从而在按下
按钮时附加一个要调用的函数。当然,您还需要编写函数。@martineau我是用
equalButton.bind(“,get\u sum)”编写的。