Widget - базовый класс для всех виджетов

class Widget(**kwargs)

Базовый виджет для всех виджетов.

Наследник BaseWidget

Виджеты могут быть расположены на родительских виджетах с помощью менеджеров - pack, place, grid.

Note

Методы семейства grab_ предназначены для управления потоком события.

Виджет, захвативший поток, будет получать все события окна или приложения.

Note

Методы семейства focus_ используются для управления фокусом ввода с клавиатуры.

Виджет, имеющий фокус, получает все события с клавиатуры.

grid(**kwargs)
grid_configure(**kwargs)

Один из менеджеров расположения, распологает виджеты в таблице

  • row - номер строки, в который помещаем виджет

  • rowspan - сколько строк занимает виджет

  • column - номер столбца, в который помещаем виджет.

  • columnspan - сколько столбцов занимает виджет.

  • padx, pady - размер внешней границы (бордюра) по горизонтали и вертикали.

  • ipadx, ipady - размер внутренней границы (бордюра) по горизонтали и вертикали.

  • sticky - константа Расположения (точнее)

  • in_ - явное указание в какой родительский виджет должен быть помещён.

btn.grid()
grid_bbox(column=None, row=None, col2=None, row2=None)

Возвращает координаты в пикселях указанных столбцов и строк.

grid_forget()

Удаляет виджет и всю информацию о его расположении из упаковщика.

Позднее этот виджет может быть снова размещён

grid_info()

Возвращает информацию о конфигурации упаковки

grid_remove()

Удаляет виджет из под управления упаковщиком

btn.grid_remove()
pack(**kwargs)
pack_configure(**kwargs)

Один из менеджеров расположения, распологает виджеты один за другим.

  • after - Widget, расположить виджет после указанного

  • anchor - константа Расположения (точнее)

  • before - Widget, расположить виджет перед указанным

  • cnf - словарь

  • expand - константа Булевые, растягивать виджет при изменении окна

  • fill - константа Заполнения родителя

  • in - Widget

  • in_ - Widget

  • ipadx - отступ виджета по горизонтали

  • ipady - отступ виджета по вертикали

  • padx - внутренний отступ виджета по горизонтали

  • pady - внутренний отступ виджета по вертикали

  • side - константа Расположения на родителе

btn.pack()
"""
например есть фрейм,
и мы хотим расположить кнопки горизонтально один за другим
"""

for button in frame_buttons:
    button.pack(side=LEFT)
pack_forget()

Удаляет виджет и всю информацию о его расположении из упаковщика.

Позднее этот виджет может быть снова размещён

pack_info()

Возвращает информацию о конфигурации упаковки

place(**kwargs)

Один из менеджеров расположения, распологает виджеты в фиксированном месте.

  • anchor - константа Расположения (точнее)

  • bordermode - определяет в какой степени будут учитываться границы при размещении виджета, (“inside”, “outside”, “ignore”)

  • in_ - явное указание в какой родительский виджет должен быть помещён.

  • x, y - абсолютные координаты (в пикселях) размещения виджета.

  • width, height - абсолютные ширина и высота виджета.

  • relx, rely - относительные координаты (от 0.0 до 1.0) размещения виджета.

  • relwidth, relheight - относительные ширина и высота виджета.

place_forget()

Удаляет виджет и всю информацию о его расположении из упаковщика.

Позднее этот виджет может быть снова размещён

place_info()

Возвращает информацию о конфигурации упаковки

bell()

Издает звук

bind(event, callback)

Привязывает событие виджета к обработчику. Передает в обработчик в качестве аргумента. объект :py:class::tkinter.Event

>>> widget.bind('<Button-1>', callback)
  • Button-1 - нажатие левой кнопки мыши

  • Button-2 - нажатие средней кнопки мыши

  • Button-3 - нажатие правой кнопки мыши

  • Double-Button-1 - двойное нажатие

  • ButtonRelease-1 - отпускание кнопки

  • B1-Motion - движение мыши с зажатой кнопкой

  • Enter - наведение курсора на тег

  • Leave - уход курсора от тега

  • r - кнопка на клавиатуре

  • Shift_L - левый шифт

  • Alt_L

  • Control_R

  • Return

  • Caps_Lock

  • Escape

  • Prior - PageUp

  • Next- PageDown.

  • Up

  • Down

  • Left

  • Right

destroy()

Уничтожает виджет

>>> window.destroy()
focus()

Устанавливает фокус на виджете

get()

Возвращает значение виджета

protocol(event, func)

Вещает обработчик события виджета

Parameters
  • event – ивент, (‘WM_DELETE_WINDOW’)

  • func – обработчик

set()

Устанавливает значение виджета

tag_bind(tag, event, callback)

Привязывает обработчик тега с ивентом