首页 > 解决方案 > “缺少 1 个必需的位置参数”和“意外关键字”

问题描述

我正在创建一个 GUI,但它不会让我通过参数传递框架。我已经返回并通过了它,但是每当Label调用该函数时,它都会给我以下错误消息:

"TypeError: Label() missing 1 required positional argument: 'frame'"

代码:

def Grid(name):
    root=Tk()
    root.resizable (width = False, height = False)
    root.title("Name Generator")
    frame = Frame(root, width=1920, height = 1080,bg="grey")
    frame.grid(row=0, column=0, sticky=N+S+E+W)
    button1 = Button(frame, text = "Generate Name", bg="black", fg="white", width = 20, height = 4, font=font2, command=Label)
    button1.pack()
    root.mainloop()
    return frame

def Label(frame):
    name=NameGenerator()
    label1=Label(frame, text = name, bg="red", fg="white", width = 20, height = 4, font=font2)
    label1.pack()



student_name = NameGenerator()
print("student name = " , student_name)
frame=Grid(student_name)

最重要的是,每当我将Label变量(在Label函数下)更改为Label函数而不是按钮函数时,我都会收到以下消息:

def Label():
    label1=Label(canvas, text="test")
    label1.pack()
    label1.config(text="hello")

错误信息:

 label1=Label(canvas, text="test")
TypeError: Label() got an unexpected keyword argument 'text'

我查看了其他回复,但没有发现它们与此相关。此外,对于位置参数错误消息,我为(有效)复制了完全相同的方法/例程student_name,但没有使用 frame.

标签: pythonuser-interfacetkintertypeerror

解决方案


您使用相同的名称:Label()

def Label():  #<----
    label1=Label(canvas, text="test")   #<---
    label1.pack()
    label1.config(text="hello")

推荐阅读