我正在创建一个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。
答案 0 :(得分:0)
您使用相同的名称:Label()
def Label(): #<----
label1=Label(canvas, text="test") #<---
label1.pack()
label1.config(text="hello")