Я пытаюсь использовать полосу прокрутки с моим проектом. У меня есть код, который создает рамку внутри холста в рамке, чтобы помещать метки в рамку, а затем прокручиваться. Это часть кода:place_configure() missing 1 обязательный позиционный аргумент: 'self'
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)
Это прекрасно работает, однако мне действительно нужно использовать .Поместить() 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'
Почему я не могу поставить метку в рамку, и как я могу исправить эту проблему? Thanks
они не называют 'место' на классе. Они называют это экземпляром. –
'Label.place (x = 10, y = 10)' это конечно похоже на вызов его в классе. Это: «Ярлык (рамка, текст =« привет », высота = 1, ширина = 14, bg =« белый »). Place (x = 10, y = 10)' с другой стороны вызывает его в экземпляре, который работает как ожидалось. – Fejs
ОК, вы правы. Мои извинения. В одном месте они делают это неправильно, в одном месте они делают все правильно. Это отвечает на вопрос в названии. –