Tkinter (модуль)

## Окно

*Основная статья: Tk.*
Главный виджет к которому привязываются остальные. При создании объекта этого класса запускается интерпретатор tcl/tk и создаётся базовое окно приложения.

Tkinter является событийно-ориентированной библиотекой. В приложениях такого типа имеется главный цикл обработки событий. В Tkinter такой цикл запускается методом **mainloop**. Для явного выхода из интерпретатора и завершения цикла обработки событий используется метод **quit**.

### Основные функции

* **mainloop()** - запуск цикла обработки событий;

## Label

*Основная статья: Label.*
*Виджет **Label** в модуле Tkinter Ttk.*
Label - это виджет, предназначенный для отображения какой-либо надписи без возможности редактирования пользователем.

### Основные аргументы

* **master** - родительский виджет;
* **text** - отображаемый текст;
* **font** - шрифт и размер текста. Вводится в формате "font size";
* **height**/**width** - высота и ширина в символах;

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;

## Button

*Основная статья: Button.*
*Виджет **Button** в модуле Tkinter Ttk.*
Виджет Button - самая обыкновенная кнопка, которая используется в тысячах программ.

### Основные аргументы

* **master** - родительский виджет;
* **text** - отображаемый текст;
* **font** - шрифт и размер текста. Вводится в формате "font size";
* **command** - функция, вызываемая при нажатии. Вводится без скобок;
* **height**/**width** - высота и ширина в символах;

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;

## Frame

*Основная статья: Frame.*
*Виджет **Frame** в модуле Tkinter Ttk.*
Виджет Frame (рамка) предназначен для организации виджетов внутри окна.

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;

## Checkbutton

*Основная статья: Checkbutton.*
*Виджет **Checkbutton** в модуле Tkinter Ttk.*
Checkbutton - это виджет, который позволяет отметить „галочкой“ определенный пункт в окне. При использовании нескольких пунктов нужно каждому присвоить свою переменную.

### Основные аргументы

* **master** - родительский виджет;
* **text** - отображаемый текст;
* **variable** - переменная, отвечающая за состояние;
* **onvalue**/**offvalue** - значение задаваемое переменной в включеном/выключеном состоянии;
* **font** - шрифт и размер текста. Вводится в формате "font size";

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;

## Radiobutton

*Основная статья: Radiobutton.*
*Виджет **Radiobutton** в модуле Tkinter Ttk.*
Виджет Radiobutton выполняет функцию, схожую с функцией виджета Checkbutton. Разница в том, что в виджете Radiobutton пользователь может выбрать лишь один из пунктов.

### Основные аргументы

* **master** - родительский виджет;
* **text** - отображаемый текст;
* **variable** - переменная, отвечающая за состояние;
* **value** - значение задаваемое переменной в выбраном состоянии;
* **font** - шрифт и размер текста. Вводится в формате "font size";

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;

## Entry

*Основная статья: Entry.*
*Виджет **Entry** в модуле Tkinter Ttk.*
Entry - это виджет, позволяющий пользователю ввести одну строку текста.

### Основные аргументы

* **master** - родительский виджет;
* **font** - шрифт и размер текста. Вводится в формате "font size";
* **width** - ширина в символах;

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;
* **get()** - возвращает введенный текст;

## Scale

*Основная статья: Scale.*
*Виджет **Scale** в модуле Tkinter Ttk.*
*Виджет **LabeledScale** в модуле Tkinter Ttk.*
Scale (шкала) - это виджет, позволяющий выбрать какое-либо значение из заданного диапазона.

### Основные аргументы

* **master** - родительский виджет;
* **orient** - ориентация шкалы. Принимает значения HORIZONTAL ("horizontal") и VERTICAL ("vertical");
* **font** - шрифт и размер текста. Вводится в формате "font size";
* **length** - длина в пикселях;
* **from\_** - с какого значения начинается шкала;
* **to** - каким значением заканчивается шкала;
* **tickinterval** - интервал, через который отображаются метки шкалы;
* **resolution** - шаг передвижения (минимальная длина, на которую можно передвинуть рычажок);

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;
* **get()** - возвращает выбранное значение;

## Scrollbar

*Основная статья: Scrollbar.*
*Виджет **Scrollbar** в модуле Tkinter Ttk.*
Этот виджет даёт возможность пользователю "прокрутить" другой виджет (например текстовое поле) и часто бывает полезен.

### Основные аргументы

* **master** - родительский виджет;
* **orient** - ориентация шкалы. Принимает значения HORIZONTAL ("horizontal") и VERTICAL ("vertical");

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;

## Toplevel

*Основная статья: Toplevel.*
Toplevel - окно верхнего уровня. Обычно используется для создания многооконных программ, а также для диалоговых окон.

### Основные функции

* **mainloop()** - запуск цикла обработки событий;

## Text

*Основная статья: Text.*
Text - это виджет, который позволяет пользователю ввести любое количество текста.

### Основные аргументы

* **master** - родительский виджет;
* **wrap** - перенос;
* **font** - шрифт и размер текста. Вводится в формате "font size";
* **height**/**width** - высота и ширина в символах;

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;
* **insert()** - вставка текста;
* **get()** - извлечение текста;
* **delete()** - удаление текста;

## Listbox

*Основная статья: Listbox.*
*Виджет **Combobox** в модуле Tkinter Ttk.*
Listbox - это виджет, который представляет собой список, из элементов которого пользователь может выбирать один или несколько пунктов.

### Основные аргументы

* **master** - родительский виджет;
* **font** - шрифт и размер текста. Вводится в формате "font size";
* **selectmode** - количество выбираемых элементов. Принимает значения SINGLE ("single") и EXTENDED ("extended");
* **height**/**width** - высота и ширина в символах;

### Основные функции

* **pack()**/**grid()**/**place()** - упаковщики;
* **get()** - возвращает номер выбранного элемента;
* **insert()** - добавляет элемент в список;

## Menubutton

*Основная статья: Menubutton.*
*Виджет **Menubutton** в модуле Tkinter Ttk.*