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.