place_configure()失踪1个人需要的位置参数:“自我”

问题描述:

我试图使用滚动条与我的项目。我有一个代码,在一个框架内的一个画布内创建一个框架,以便将标签放到框架上,然后滚动。这是一些代码:place_configure()失踪1个人需要的位置参数:“自我”

statWindow = Tk() 
statWindow.title("View Statistics") 
statWindow.config(bg = "grey") 
statWindow.geometry('600x700') 

myframe =Frame(statWindow, relief=GROOVE, width=550, height=400, bd=1) 
myframe.place(x=20, y=90) 

canvas = Canvas(myframe) 
frame = Frame(canvas) 
myscrollbar = Scrollbar(myframe, orient="vertical", command=canvas.yview) 
canvas.configure(width=530, height=400, yscrollcommand=myscrollbar.set) 

myscrollbar.pack(side="right", fill="y") 
canvas.pack(side="left") 
canvas.create_window((0, 0), window=frame, anchor='nw') 
frame.bind("<Configure>", myfunction) 

def myfunction(event): 
    global canvas 
    canvas.configure(scrollregion=canvas.bbox("all"),width=530,height=400) 

然后我有代码:

Label(frame,text="hello", height=1, width=14, bg="white").grid(row=1, column=1) 

这工作完全,但我真的需要使用.place() Allthough当我改变标签代码到:

Label(frame,text="hello", height=1, width=14, bg="white").place(x=10, y=10) 

没有任何反应,因为在屏幕上没有标签,并且没有错误发生。 然而,当我的代码更改为:

Label(frame,text="hello", height=1, width=14, bg="white") 
Label.place(x=10, y=10) 

我得到的错误:

TypeError: place_configure() missing 1 required positional argument: 'self' 

为什么我不是一个标签放置到机架,以及如何解决这个问题? 谢谢

你不应该在课上呼叫placeLabel)。如果您想这样做,您必须将Label实例分配给某个变量,然后在该变量上调用place。它适用于第一种情况,因为您在类实例上调用place,而不是类本身。 例如,它应该怎么做:

label_name = Label(frame,text="hello", height=1, width=14, bg="white") 
label_name.place(x=10, y=10) 
+0

他们不调用类'place'。他们在一个实例上调用它。 –

+0

'Label.place(x = 10,y = 10)'这个确实看起来像是在一个类中调用它。这个标签(frame,text =“hello”,height = 1,width = 14,bg =“white”)。place(x = 10,y = 10)'在另一方面调用它,这正在按预期工作。 – Fejs

+0

好的,你是对的。我很抱歉。在一个地方,他们做错了,在一个地方他们做对了。这回答标题中的问题。 –