TypeError: Entry.get()需要1个位置参数,但是给出了3个



我对编码很陌生,不知道哪里出了问题。我只是想打印用户在文本框中输入的东西。我有一个按钮,它调用一个函数从文本框中获取信息,对数字进行一些计算,然后在控制台中打印其输出。

当我运行程序时,它开始很好,但当我在第一个框中输入数字并按下按钮时,出现了这个错误。

File "/Users/Owner/PycharmProjects/gui thing/venv/new gui.py", line 29, in <lambda>
printbutton = Button(bottomframe, text="Run Algorithm", command=lambda: get_input())
File "/Users/Owner/PycharmProjects/gui thing/venv/new gui.py", line 6, in get_input
year = boxYear.get("1.0", "end-1c")
TypeError: Entry.get() takes 1 positional argument but 3 were given
from tkinter import *
root = Tk()
root.geometry("500x500")
def get_input():
year = boxYear.get("1.0", "end-1c")
p1 = (int(year) // 12)
p2 = (int(year) % 12)
p3 = (p2 // 4)
p4 = (p1 + p2 + p3)
days = ['wednesday', 'thursday', 'friday', 'saturday', 'sunday', 'monday', 'tuesday']
p5 = (p4 // 7)
if p4 >= 7 and p4 <= 14:
p6 = (int(p4 - 7))
elif p4 >= 7 and p4 > 14:
p6 = (int(p4 - 14))
else:
p6 = (int(p4))
if p6 == 7:
p6 = 0
print(days[int(p6)])
topframe = Frame(root)
topframe.pack()
bottomframe = Frame(root)
bottomframe.pack(side=BOTTOM)
quitbutton = Button(bottomframe, text= "Quit Program", command=bottomframe.quit)
quitbutton.grid()
printbutton = Button(bottomframe, text="Run Algorithm", command=lambda: get_input())
printbutton.grid()
boxYear = Entry(topframe)
boxMonth = Entry(topframe)
boxDay = Entry(topframe)
boxYear.grid(row=0, column=1, padx=10, pady=10)
boxMonth.grid(row=1, column=1, padx=10, pady=10)
boxDay.grid(row=2, column=1, padx=10, pady=10)
l1 = Label(topframe, text="Year: ")
l2 = Label(topframe, text="Month: ")
l3 = Label(topframe, text="Day: ")
l1.grid(row=0, column=0)
l2.grid(row=1, column=0)
l3.grid(row=2, column=0)

我试着移动东西,图灵打开和关闭某些部分,看看是什么导致了这个问题。我已经看了一段时间,看不到任何错误,但正如我说的,我不知道我在做什么,因为我两周前才开始编码。

get方法不接受任何参数(除了self,这就是错误提到一个参数的原因)。您调用它时就好像这个小部件是一个Text小部件,但它是一个Entry小部件。在条目小部件上调用get的方法是不传递参数:

year = boxYear.get()

最新更新