в Tkinter у меня есть фрейм, который заполняет X-размер моего корневого окна. Внутри этой рамки я хочу разместить две метки: одну слева и одну справа. Однако, похоже, я все еще неправильно использую grid
и sticky
и нуждаюсь в вашем совете:
from Tkinter import *
root = Tk()
root.geometry("250x200")
myFrame = Frame(root, bd=1, relief="sunken")
myFrame.pack(fill=X, padx=10)
myLabel1 = Label(myFrame, text="left").grid(sticky=W)
myLabel2 = Label(myFrame, text="right").grid(sticky=E)
root.mainloop()
Этот код размещает две метки слева, но друг над другом. Если я помещу их обоих в одну строку
myLabel1 = Label(myFrame, text="left").grid(row=0, sticky=W)
myLabel2 = Label(myFrame, text="right").grid(row=0, sticky=E)
они находятся в одном и том же месте, так что myLabel2 закрывает myLabel1.
If I do
myLabel1 = Label(myFrame, text="left").grid(row=0, column=0, sticky=W)
myLabel2 = Label(myFrame, text="right").grid(row=0, column=1, sticky=E)
тогда myLabel2 действительно находится справа от myLabel1, но не с правой стороны фрейма (хотя размер фрейма не изменяется).
Я предполагаю, что фактический вопрос заключается в следующем: как мне заставить grid
расширяться на весь кадр (в x-измерении), чтобы sticky=E действительно означало «правая сторона кадра», а не «правая сторона первого столбца, который такой же ширины, как myLabel1".