Tkinter — это стандартный пакет графического интерфейса пользователя Python (Графический интерфейс пользователя). tkinter предоставляет нам множество общих элементов графического интерфейса, которые мы можем использовать для построения интерфейса, таких как кнопки, меню и различные поля ввода и области отображения. Мы называем эти элементы Виджетами.
Виджеты
В общем случае виджет — это элемент графического пользовательского интерфейса (GUI), который отображает/иллюстрирует информацию или предоставляет пользователю возможность взаимодействовать с ОС. В TkinterWidgets — это объекты ; экземпляры классов , которые представляют кнопки, рамки и так далее.
Каждый отдельный виджет представляет собой объект Python. При создании виджета необходимо передать его родительский элемент в качестве параметра функции создания виджета. Единственным исключением является “корневое” окно, которое является окном верхнего уровня, которое будет содержать все остальное, и у него нет родителя.
Пример:
from tkinter import *
# create root window
root = Tk()
# frame inside root window
frame = Frame(root)
# geometry method
frame.pack()
# button inside frame which is
# inside root
button = Button(frame, text ='Geek')
button.pack()
# Tkinter event loop
root.mainloop()
Выход:
Классы виджетов
Tkinter поддерживает следующие основные виджеты:
Виджеты | Описание |
---|---|
Label | Он используется для отображения текста или изображения на экране |
Button | Он используется для добавления кнопок в ваше приложение |
Canvas | Он используется для рисования картинок и других макетов, таких как тексты, графика и т.д. |
ComboBox | Он содержит стрелку вниз для выбора из списка доступных опций |
CheckButton | Он отображает ряд опций для пользователя в виде кнопок переключения, с помощью которых пользователь может выбрать любое количество опций. |
RadiButton | Он используется для реализации выбора «один из многих», поскольку позволяет выбрать только один вариант |
Entry | Он используется для ввода однострочного текста от пользователя |
Frame | Он используется в качестве контейнера для хранения и организации виджетов |
Message | Он работает так же, как и надпись, и относится к многострочному и не редактируемому тексту |
Scale | Он используется для предоставления графического ползунка, который позволяет выбрать любое значение из этой шкалы |
Scrollbar | Он используется для прокрутки содержимого вниз. Он оснащен контроллером слайдов. |
SpinBox | Это позволяет пользователю выбирать из заданного набора значений |
Text | Это позволяет пользователю редактировать многострочный текст и форматировать его так, как он должен отображаться |
Menu | Он используется для создания всех видов меню, используемых приложением |
Управление геометрией
Создание нового виджета не означает, что он появится на экране. Чтобы отобразить его, нам нужно вызвать специальный метод: либо grid, pack (пример выше), или place.
Метод | Описание |
---|---|
pack() | То Менеджер упаковки геометрии упаковывает виджеты в строки или столбцы. |
grid() | То Диспетчер геометрии сетки помещает виджеты в 2-мерную таблицу. Главный виджет разделен на несколько строк и столбцов, и каждая “ячейка” в результирующей таблице может содержать виджет. |
place() | То Менеджер геометрии места-самый простой из трех менеджеров общей геометрии, представленных в Tkinter. Он позволяет явно задать положение и размер окна либо в абсолютном выражении, либо относительно другого окна. |