Разница между параметрами «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

  • tkFileDialog не преобразовывает результаты в список Python в Windows
  • Добавление дополнения к виджору tkinter только с одной стороны
  • Я хочу переключить настоящую кнопочку и отобразить ее на графическом интерфейсе tkinter
  • В Tkinter как удалить фокус с виджета?
  • Запуск цикла вместе с приложением Tkinter
  • TkInter, слайдер: как вызвать событие только после завершения итерации?
  • NameError: глобальное имя «END» не определено
  • Как связать escape-ключ, чтобы закрыть это окно
  •  
    Interesting Posts for Van-Lav

    отображать значения функции в двумерной графической таблице

    EVE – определение пользовательских контроллеров колб

    C ++ Name Mangling Library для Python

    Регламентирование регулярных данных netcdf

    Изучение python и потоков. Я думаю, что мой код работает бесконечно. Помогите мне найти ошибки?

    Как передать значение oauth_callback для oauth / request_token с помощью Twython

    Nim эквивалент понимания списка Python

    Python: обрабатывать JSON Decode Error, когда ничего не возвращается

    Низкая производительность чтения на Python

    Python Script: работает в оболочке, но не работает в реальной жизни, потому что модуль импорта can not

    Django Rest Framework – лучший способ справиться с ошибками проверки API-параметров?

    Ярлык для супер (тип (self), self)

    Python Selenium Отправить ключи Предоставление предупреждения о размере

    Построить запрос для фильтрации многих-ко-многим для всех экземпляров B, связанных с данным экземпляром A

    Как установить пакет с Bitbucket с помощью pip?

    Python - лучший язык программирования в мире.