TypeError:command1()接受0个位置参数,但给定1个[重复项]

问题描述 投票:-3回答:1
我正在尝试为一个项目创建一个登录系统,但是由于某种原因,当我尝试调用函数时,它会向我抛出错误TypeError: command1() takes 0 positional arguments but 1 was given。我知道您可以执行command1(self),但是当我输入参数时它什么也没做,但不会给我一个错误

from tkinter import * from tkinter import messagebox def command(): if name.get() == "admin" and password.get == "password": login.quit() login = Tk() admin_screen = Toplevel() login.title("Login") login.geometry("500x500") login.configure(bg="white") admin_screen.geometry("500x500") admin_screen.title("Admin Screen") admin_screen.configure(bg="white") lbl = Label(login, font={"Helvtica", 10}, text="Username") lbl.pack() name = Entry(login) name.pack() lbl2 = Label(login, font={"Helvtica", 10}, text="password") lbl2.pack() password = Entry(login) password.pack() password.bind("<Return>", command) login.mainloop()

python tkinter typeerror
1个回答
0
投票
我在您的代码中看不到函数command1。您是说command()吗?如果是,此答案适合您。问题是,每当您将函数绑定到键时,即使没有字面上键入参数,也会自动给出参数。您只需将command()函数修改为:

def command(*args): #rest of the code here

以上给出的*args采用系统自动或用户本身给出的所有参数。没有使用系统给定参数的command()是给您TypeError的原因    
© www.soinside.com 2019 - 2024. All rights reserved.