Глава 16 · Создаём классные приложения с Tkinter

Переменные Tkinter

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

Обычные переменные Python не «знают», когда их значение меняется в интерфейсе. Для виджетов, которые должны реагировать на изменения (переключатели, флажки — раздел 16.5), Tkinter предлагает свои специальные переменные: StringVar, IntVar, BooleanVar, DoubleVar.

peremennye_tkinter.py
import tkinter as tk

root = tk.Tk()

imya = tk.StringVar(value="Гость")

label = tk.Label(root, textvariable=imya)   # метка сама обновится при смене imya
label.pack()

def smenit_imya():
    imya.set("Cartesian")

button = tk.Button(root, text="Сменить имя", command=smenit_imya)
button.pack()

root.mainloop()

Значение достают методом .get() и меняют методом .set() — а виджеты, связанные через textvariable, обновляются на экране автоматически.

Практика в Jupyter Notebook
16-04-peremennye.ipynb · StringVar и связанные виджеты
Открыть ноутбук →