Питон Ткинтер; .place() не работает, но .grid() и .pack() работаютPython

Программы на Python
Anonymous
Питон Ткинтер; .place() не работает, но .grid() и .pack() работают

Сообщение Anonymous »

Я пытаюсь вставить метку с текстом в фрейм. Однако он не отображается с .place, хотя отлично работает с .grid и .pack.
label = tk.Label(master, text="test")
label.pack() # works

label = tk.Label(master, text="test")
label.grid() # works

label = tk.Label(master, text="test")
label.place(relx=.5, rely=.5) # doesn't work

label = tk.Label(master, text="test")
label.place(relx=.5, rely=.5, width=500, height=500) # doesn't work

Для ясности: я не смешиваю эти три метода. Я выполняю каждую попытку отдельно.
Моя структура кода следующая:
class Window(tk.Tk)
def __init__(self):
tk.Tk.__init__(self)
frame_init = Frame_0(self, 0)
frame_init.pack()

class Frame(tk.Frame)
def __init__(self, Window)
tk.Frame.__init__(self, Window)

class Frame_0(Frame):
def __init__(self, Window)
super().__init__(Window)
label = tk.Label(self, text="test")
label.METHOD() # METHOD is pack, grid, or place ()

... somewhere else

Window = Window()
Window.mainloop()


Подробнее здесь: https://stackoverflow.com/questions/649 ... nd-pack-do

Вернуться в «Python»