Úvod do Tkinter - Okna pro jazyk Python - Postavené na základech 'An Introduction to Tkinter'

Tkinter - Scrollbar (Posuvník)


Kdy použít udělátko Posuvník

Toto udělátko se používá k vytváření rolovacích udělátek jako Canvas, Listbox a Text.

Pojetí

Udělátko posuvník je skoro vždycky propojeno s udělátky Listbox, Canvas nebo Text. Horizontální posuvník může být použit také s udělátkem Entry.

K připojení vertikálního posuvníku k udělátko musíte udělat dvě věci:

  1. Nastavit parametr udělátka yscrollcommand jako metodu posuvníku set.

  2. Nastavit command posuvníku na metodu yview daného udělátka.

from Tkinter import *

master = Tk()

scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT, fill=Y)

listbox = Listbox(master, yscrollcommand=scrollbar.set)
for i in range(1000):
listbox.insert(END, str(i))
listbox.pack(side=LEFT, fill=BOTH)

scrollbar.config(command=listbox.yview)

mainloop()


Když se obsah udělátka změní, zavolá se metoda posuvníku set. Když uživatel použije posuvník, tak se zavolá metoda yview s patřičnými parametry.

Připojení horizontálního posuvníku je prakticky stejné. Ale musíte použít xscrollcommand a metodu xview.

Referenční příručka

Scrollbar(master=None, **options) (class) [#]

Posuvník.

master
Rodičovské udělátko.
**options
Parametry udělátka. Podívejte se na metodu config pro všechny možné parametry.

activate(element) [#]

Aktivuje část posuvníku.

element
Část posuvníku, která se má aktivovat. Použijte jedno z "arrow1", "slider" nebo "arrow2". Při vynechání metoda vrací, která část je právě aktivní. V případě že žádná, vrací prázdný řetězec.

config(**options) [#]

Mění jedno nebo více parametrů udělátka. Jestliže je tato metoda zavolána bez parametrů, vrací slovník všech nastavení daného udělátka.

**options
Parametry udělátka.
activebackground=
Standardní nastavení záleží na systému.
activerelief=
Standardní nastavení je RAISED. (activeRelief/Relief)
background=
Standardní nastavení záleží na systému. (background/Background)
bg=
Stejné jako background.
borderwidth=
Šířka okraje. Standardní nastavení je 0. (borderWidth/BorderWidth)
bd=
Stejné jako borderwidth.
command=
Zpětná metoda udělátka, které je spojeno s posuvníkem. Obvykle se jedná o xview nebo yview.
Když uživatel pohne se šoupátkem, metoda je volána způsobem callback("moveto", offset), kde offset rovný 0.0 znamená, že je šoupátko nahoře (nebo vlevo) a offset 1.0 znamená, že se šoupátko nalézá dole (nebo vpravo).
Jestliže uživatel kliká na šipková tlačítka, je metoda volána takto: callback("scroll", step, what). Druhý parametr je buď "-1" nebo "1", podle směru pohybu šoupátka. Třetí parametr označuje jednotky posunu. Buď se jedná o "units" nebo "pages". (command/Command)
cursor=
Kurzor, který se zobrazí jakmile se dostane nad posuvník. Standardní nastavení záleží na systému. (cursor/Cursor)
elementborderwidth=
Standardní nastavení je -1. (elementBorderWidth/BorderWidth)
highlightbackground=
Spolu s highlightcolor a highlightthickness určuje tato volba, jak vykreslovat okraje. Když má udělátko fokus, je okraj highlightthickness v barvě highlightcolor. Jinak je vykreslen v barvě highlightbackgroundr. Standardní nastavení záleží na systému. (highlightBackground/HighlightBackground)
highlightcolor=
Podívejte se na highlightbackground. (highlightColor/HighlightColor)
highlightthickness=
Podívejte se na highlightbackground. Standardní nastavení je 0 (no highlight border). (highlightThickness/HighlightThickness)
jump=
Standardní nastavení je 0. (jump/Jump)
orient=
Určuje jak vykreslit posuvník. Vybírejte z HORIZONTAL a VERTICAL. Standardní nastavení je VERTICAL. (orient/Orient)
relief=
Okrasa okraje. Standardní nastavení je SUNKEN. Další možnosti jsou FLAT, RAISED, GROOVE, and RIDGE. Tento parametr je pod Windowsy ignorován. (relief/Relief)
repeatdelay=
Standardní nastavení je 300. (repeatDelay/RepeatDelay)
repeatinterval=
Standardní nastavení je 100. (repeatInterval/RepeatInterval)
takefocus=
Standardní nastavení je prázdný řetězec. (takeFocus/TakeFocus)
troughcolor=
Standardní nastavení záleží na systému. (troughColor/Background)
width=
Šířka posuvníku v pixelech. Standardní nastavení je 16. (width/Width)

delta(deltax, deltay) [#]

Vrací desetinné číslo, které by se mělo přičíst k současnému nastavení šoupátka, aby se tento posunul o daný počet pixelů. Typicky se toto využívá při myšoidních posunech, kdy se zjišťuje, jak posunout šoupátko, když s ním uživatel hýbe.

deltax
Horizontální posun v obrazovkových souřadnicích.
deltay
Svislý posun v obrazovkových souřadnicích.
Vrací:
Hodnotu, která se má přičíst k offsetu posuvníku.

fraction(x, y) [#]

Vrací pozici šoupátka vzhledem k daným souřadnicím.

x
Horizontální souřadnice.
y
Vertikální souřadnice.
Vrací:
Pozici šoupátka mezi 0.0 a 1.0.

get() [#]

Vrací aktuální hodnotu šoupátka.

Vrací:
N-tici obsahující vzdálenost od horního (levého) a dolního (pravého) konce šoupátka.

identify(x, y) [#]

Vrací pojmenování části posuvníku na daných souřadnicích.

x
Horizontální souřadnice.
y
Vertikální souřadnice.
Vrací:
Jednu z následujících hodnot: "arrow1" (šipka nahoře/vlevo), "trough1", "slider", "trough2", "arrow2" (šipka dole/vpravo), nebo prázdný řetězec.

set(lo, hi) [#]

Posunuje šoupátko na novou pozici.

lo
Relativní polohu k hornímu (levému) konci posuvníku.
hi
Relativní polohu ke spodnímu (pravému) konci posuvníku.