Tkinter - позиция относительно родителя - PullRequest
0 голосов
/ 16 октября 2019

Используя Tkinter, я хотел бы создать несколько кадров в главном окне, а затем расположить элементы относительно этих кадров.

Я создал несколько кадров, а затем некоторые элементы должны быть относительно кадров, но они расположены относительнов главное окно (корень).

import tkinter

root = tkinter.Tk()
root.title('Positioning')
root.geometry('{}x{}'.format(800, 600))

frame1 = tkinter.Frame(root, bg='cyan').place(x=0, y=0, width=800, height=200)
frame2 = tkinter.Frame(root, bg='blue').place(x=0, y=200, width=800, height=200)
frame3 = tkinter.Frame(root, bg='green').place(x=0, y=400, width=800, height=200)

label1 = tkinter.Label(frame1, text="1st label").place(relx=0.25, rely=0)
label2 = tkinter.Label(frame2, text="2nd label").place(relx=0.5, rely=0)
label3 = tkinter.Label(frame3, text="3rd label").place(relx=0.75, rely=0)

root.mainloop()

Т.е. label2, по моему мнению, должен располагаться в верхней части frame2, поэтому его вертикальное положение относительно окна должно быть 200. Но это происходит в верхней части корня. объект, поэтому вертикальное положение равно 0 (все три метки выровнены по вертикали). Есть ли способ сделать так, чтобы метки располагались относительно конкретных кадров?

...