В предыдущей части моего сериала про Tkinter я разбирался с событиями и обработчиками событий. Однако суть пользовательского интерфейса также принимать данные пользователя и/или показывать данные пользователю.  То есть при создании интерфейса на Python с помощью Tkinter я должен уметь передавать виджетам данные (для отображения) и получать данные из виджетов, полученные виджетом в результате пользовательского ввода.

Сегодня я покажу как работать с текстовыми данными в метках и полях ввода, однако, строго говоря, данными могут быть не только текст, но и изображения, положения мыши при клике, цвета, номера строк в списках и т.п., но сегодня только про текст.

В сегодняшнем видео передача данных и получение данных из виджетов Label и Entry. Также немного вспомним о позиционировании виджетов и их стилизации.

Полезные ссылки

Установка значений виджетов (текст) в Tkinter 

Способы передачи текстовых данных условно три штуки:
1. Через параметры при создании или через явную передачу значений в словарь настроек виджета
2. Через связывание с глобальной переменной классов Tkinter StringVar, IntVar, DoubleVar В этом случае содержимое виджета на экране обновляется автоматически при изменении связанной переменной.
3. С помощью методов некоторых виджетов (delete, insert)

Можно гуглить по запросам: tkinter configure, tkinter stringvar, tkinter intvar, tkinter text, tkinter texvariable.

Получение значений виджетов (текст) в Tkinter

1. Из словаря конфига
2. С помощью методов виджета (напр. get)
3. Из связанной переменной

Можно гуглить по запросам: tkinter textvariable, tkinter widget get, tkinter widget cget.

Код на Python к экспериментам в видео


Данные могут быть разными. В ткинтере есть, например, списки — в них также нужно передавать данные и получать из списков пользовательский ввод. Иногда пользователю в интерфейсе нужно показать график или картинку. В Tkinter есть виджеты которые могут это сделать. В сегодняшнем видео я всего этого не касался. А мог бы ;) Если вам интересно продолжение про Tkinter — подписывайтесь на канал, не поскупитесь на лайк и напишите в комментариях (лучше к видео) какие темы в Tkinter вам особенно интересны…