Tkinter grid () Менеджер - PullRequest
       15

Tkinter grid () Менеджер

1 голос
/ 10 июля 2010

У меня проблемы с менеджером сетки Tkinter ().Это расставляет ряды слишком далеко друг от друга.У меня есть два виджета для входа, и мне нужен один почти прямо под другим.Когда я размещаю их в одной строке и столбце, но меняю параметр pady, он размещает их прямо друг над другом.Я знаю, что должен быть способ исправить это, никогда раньше такой проблемы не было.

Я использую Python 2.6 в Windows XP.

Ответы [ 2 ]

2 голосов
/ 11 июля 2010

Не размещайте их в одной строке и столбце; поместите верхний ряд и нижний ряд + 1, оба в одном столбце. Это делает трюк.

Обратите внимание, что менеджеру сетки не нужно заполнять все строки и столбцы виджетами; игнорирует пустые строки и столбцы.

2 голосов
/ 10 июля 2010

Это только 2 виджета? Или в другом столбце есть другой виджет, высота которого превышает одну строку? Если это так, он должен добавить к нему атрибут "rowspan".

Если это не так, я предлагаю использовать только эту ячейку (примените к ней «row3span 2»), добавьте виджет Tkinter.Frame, а в этом кадре просто добавьте нужные виджеты с помощью менеджера «pack». .

Итак, вместо:

entr1.grid(my_window, row=1, column=1)
entr2.grid(my_window, row=1, column=1)

вы делаете:

frame = Tkinter.Frame(my_window)
entr1 = Tkinter.<Whatever-widget>(Frame, ...)
entr1.pack()
entr2 = Tkinter.<Whatever-widget>(Frame, ...)
entr2.pack()
...