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

1

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

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

Теги:
grid
tkinter
tkinter-entry

2 ответа

2
Лучший ответ

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

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

2

Это только 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()
  • 0
    Есть еще 3 кнопки, которые мне нужно выровнять по нижней части окна. Причина, по которой мне нужно использовать менеджер grid (), заключается в том, что виджеты размещены поверх изображения .GIF.
  • 0
    Здесь я вставлю свой код: pastebin.com/dNrdakHB
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню