Разница между параметрами «fill» и «expand» для метода tkinter pack

Я знаю, что это слишком тривиальный вопрос, но я новичок в python, и я только начал использовать модуль tkinter . Я действительно искал ее повсюду, и я не могу найти удовлетворительный ответ. Я нашел следующее:

fill option: он определяет, следует ли использовать больше места или сохранять «свои» размеры.

expand : он касается расширения родительского виджета.

Проблема в том, что эти два звука более или менее одинаковы . Я даже попробовал несколько примеров, переключив между 4 значениями fill и 2 значениями expand но получил более или менее тот же результат в 2 или 3 случаях, из-за которых у меня есть этот запрос. Любая помощь будет оценена в этом отношении. Заранее спасибо!

One Solution collect form web for “Разница между параметрами «fill» и «expand» для метода tkinter pack”

От effbot :

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

Опция expand указывает менеджеру назначить дополнительное пространство для окна виджетов. Если родительский виджет становится больше необходимого для хранения всех упакованных виджетов, любое превышение пространства будет распределено между всеми виджетами, для которых параметр расширения установлен на ненулевое значение.

Таким образом, fill указывает, что виджет будет расти до тех пор, пока в нем не будет выделено столько места в указанном направлении. expand говорит ведущему о необходимости использовать любое пространство, которое не назначено ни одному виджету, и распространять его на все виджеты с ненулевым значением expand .

Различие становится понятным при запуске этого примера:

 import Tkinter as tk root = tk.Tk() root.geometry('200x200+200+200') tk.Label(root, text='Label', bg='green').pack(expand=1, fill=tk.Y) tk.Label(root, text='Label2', bg='red').pack(fill=tk.BOTH) root.mainloop() 

Вы можете видеть, что метка с expand=1 получает столько свободного места, сколько доступно для нее, но занимает ее только в указанном направлении Y. Метка с fill=tk.BOTH расширяется в обоих направлениях, но имеет меньшее пространство.

Expand vs Fill

  • Невозможно установить значение с помощью скрипта tkinter / python при использовании cxfreeze
  • открыть несколько имен файлов в tkinter и добавить имена файлов в список
  • Как скрыть консоль Windows с помощью python Tkinter?
  • Открыть окно и текстовое поле фокуса tkinter
  • tkinter radiobutton не обновляющая переменная
  • Python Tkinter - получить значение из Entry после root.destroy ()
  • Python - возврат из обратного вызова Tkinter
  • код рисования для перемещения овала
  • Кнопка GUI удерживается нажатой
  • Изменение цвета текста при наведении курсора на текст с помощью Tkinter?
  • Как создать окно сообщения с помощью tkinter?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.