“缺少1个必需的位置参数”和“意外关键字”

时间:2018-06-20 09:07:10

标签: python user-interface tkinter typeerror

我正在创建一个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。

1 个答案:

答案 0 :(得分:0)

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

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