Tkinter
Proměnné
Proměnná v Tkinteru je specielní objekt pro uložení hodnoty. Tato proměnná může být sdílena více widgety a registruje, které widgety se na ní odkazují.
Na rozdíl od Pythonu musíme typ proměnné předem deklarovat a to použitím některé ze čtyř tříd (odvozených od třídy Variable):
- x = StringVar() pro řetězec, implicitní hodnota je ""
- x = IntVar() pro integer, implicitní hodnota je 0
- x = DoubleVar() pro číslo float, implicitní hodnota je 0.0
- x = BooleanVar() pro hodnotu Bool, vrací 0 a 1
Hodnotu proměnné lze změnit metodou .set(value).
Widgety se na proměnné odkazují prostřednictvím svých parametrů
variable, textvariable, value, onvalue a offvalue.
- Radiobutton: variable, textvariable, value
- Checkbutton: variable, textvariable, onvalue, offvalue
- Scale: variable
- Button, Entry, Label, Menubutton, Message:
textvariable
Toto spojení pracuje v obou směrech. Dojde-li z nějakého důvodu ke změně proměnné, dojde také k aktualizaci příslušného widgetu.
Následující ukázka vrátí do konzoly stav zatržítka po zavření okna:
from tkinter import*
root = Tk()
spamVar = StringVar()
spamChB =Checkbutton(root, text='Spam?',
variable=spamVar,
onvalue='yes', offvalue='no')
spamChB.pack()
root.mainloop()
print(spamVar.get())
Další příklady použití proměnných lze vidět v kapitole Radiobutton a Checkbutton.