在计算器应用程序中按下按钮时没有任何反应

时间:2017-04-22 17:51:38

标签: 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, 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()

正如你们中的一些人可能会注意到的那样,代码的第一部分(Sum部分)不是我的意思。我从这个网站上的某个地方复制了它(我不记得是谁以及何时确切)并且我想为它添加其他功能(比如' - ','*'或'/'),但我遇到了这个问题,我希望你们中的一些人可以帮助我。

有两个条目我输入数字,当我点击'='按钮时,它应该显示结果。 但是,当我点击“=”按钮时,没有任何反应。它会在颜色发生变化时记录点击,但结果不会显示。我不知道为什么,我希望你们中的一些人可以指出错误。

用控制台运行它或点击按钮时没有收到任何错误,所以我不知道错误到底在哪里。

请注意我还是Python的初学者

1 个答案:

答案 0 :(得分:0)

你做的一切都正确,调用了函数并添加了数字。但是,您没有向用户显示任何内容。如果您将print(sum)添加到功能的末尾,则会看到它已打印出来。或者,我假设您要将其插入等号输入:

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)

此外,您应该使用command参数,而不是bind

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