Tkinter
Slider Widget

Posuvník se vytvoří jako instance třídy Scale. Číselná hodnota v zadaném rozsahu se nastaví posunem posuvného tlačítka. Minimální a maximální hodnoty se zadávají jako parametry, stejně jako kroky mezi jednotlivými hodnotami. Widget Scale je dobrou alternativou pro widget Entry, očekává-li se zadání číselné hodnoty od uživatelele.
Jednoduchý příklad
from tkinter import * master = Tk() w = Scale(master, from_=0, to=42) w.pack() w = Scale(master, from_=0, to=200, orient=HORIZONTAL) w.pack() mainloop()Spustíme-li tento skript, dostame okno s vertikálním a horizontálním posuvníkem:

Přístup k hodnotám posuvníku
V přechozím příkladě jsme si ukázali, jak se vytvoří posuvník. Samotný posuvník nám ale nestačí, potřebujeme způsob, jak vytěžit jeho hodnoty. Předchozí příklad rozšíříme o tlačítko Show a hodnoty posuvníku získáme metodou get(). Při stisku tlačítka Show se aktuální hodnoty vytisknou do terminálu, ze kterého skript spouštíme:from tkinter import * def show_values(): print (w1.get(), w2.get()) master = Tk() w1 = Scale(master, from_=0, to=42) w1.pack() w2 = Scale(master, from_=0, to=200, orient=HORIZONTAL) w2.pack() Button(master, text='Show', command=show_values).pack() mainloop()
Počáteční hodnoty posuvníků
Nastavenou počáteční hodnotu lze korigovat metodou set().from tkinter import * def show_values(): print (w1.get(), w2.get()) master = Tk() w1 = Scale(master, from_=0, to=42) w1.set(19) w1.pack() w2 = Scale(master, from_=0, to=200, orient=HORIZONTAL) w2.set(23) w2.pack() Button(master, text='Show', command=show_values).pack() mainloop()
Volaný skript vypadá takto:

Dobrou ukázkou (tutorialspoint) je posuvník s deklarovanou proměnnou, která umožňuje přenos hodnoty z posuvníku do popisku:
from kinter import * def sel(): selection = "Value = " + str(var.get()) label.config(text = selection) root = Tk() var = DoubleVar() scale = Scale( root, variable = var ) scale.pack(anchor=CENTER) button = Button(root, text="Get Scale Value", command=sel) button.pack(anchor=CENTER) label = Label(root) label.pack() root.mainloop()

Délka kroku
Je-li zadán parametr tickinterval (délka kroku) jistou hodnotou, potom se kroky stupnice zobrazí jako násobky této hodnoty. Přidáme jej do předchozího příkladu:from tkinter import * def show_values(): print (w1.get(), w2.get()) master = Tk() w1 = Scale(master, from_=0, to=42, tickinterval=8) w1.set(19) w1.pack() w2 = Scale(master, from_=0, to=200, tickinterval=10, orient=HORIZONTAL) w2.set(23) w2.pack() Button(master, text='Show', command=show_values).pack() mainloop()Spustíme-li tento program, uvidíme u vertikálního posuvníku stupnici 0, 8, 16, 24, 32, 40. U horizontálního posuvníku tuto stupnici neuvidíme, prototože je posuvník příliš krátký:

Abychom tento problém vyřešili, musíme zvětšit délku horizontálního posuvníku. Uděláme to tak, že do definice posuvníku w2 přidáme parametr "length":
w2 = Scale(master, from_=0, to=200, length=600, tickinterval=10, orient=HORIZONTAL)
Výsledek vypadá takto:
