my_ttkTreeview = ttk.Treeview(root, **options)
my_ttkTreeview.config()

class = Určuje triedu pre widget.
columns = Zoznam identifikátorov stĺpcov, ktorý určuje počet stĺpcov a ich názvy.
cursor = Definuje kurzor widgetu. Pozri možnosti CURSOR.
displaycolumns = Zoznam identifikátorov stĺpcov (buď symbolické názvy, alebo celočíselné indexy), ktoré určujú, ktoré dátové stĺpce sa zobrazia, a alebo reťazec #all. Ak je nastavený na #all (predvolené),
všetky stĺpce sa zobrazia v uvedenom poradí.
height = Určuje počet riadkov, ktoré sa majú zobraziť. *Výška požadovaná šírka sa určí zo súčtu šírok stĺpcov.
padding = Nastavuje výplň medzi textom a okrajmi widgetu.
selectmode = Ovláda, ako vstavané väzby tried spravujú výber. Môže byť rozšírený (predvolené nastavenie – možno vybrať viacero položiek), browse (naraz možno vybrať len 1 položku) alebo none (žiadne).
show = Zoznam obsahujúci nulu alebo viacero z nasledujúcich hodnôt: tree (predvolené – zobrazenie stromových prvkov v stĺpci 0), nadpisy (zobrazenie riadky záhlaví).
style = Slúži na zadanie vlastného štýlu widgetu.
takefocus = Určuje, či widget prijme fokus počas prechádzania klávesnicou. Môže byť 0, 1.
xscrollcommand = Pripojenie k horizontálnemu posuvníku.
yscrollcommand = Pripojenie k vertikálnemu posuvníku.
Metódy:
.bbox(item, column=None) – Pre prvok s iid item, ak je prvok aktuálne viditeľný, táto metóda vráti tuple (x, y, w, h), kde (x, y) sú súradnice ľavého horného rohu tohto prvku vzhľadom na widget a (w, h) sú šírka a výška prvku v pixeloch. Ak prvok nie je viditeľný, metóda vráti prázdny reťazec.
Ak sa vynechá nepovinný argument stĺpec, získa sa ohraničujúci rámček celého riadku. Ak chcete získať ohraničenie jedného konkrétneho stĺpca riadku položky, použite parameter column=C, kde C je buď celočíselný index stĺpca, alebo jeho identifikátor.
.column(cid, option=None, **kw) – Táto metóda konfiguruje vzhľad logického stĺpca zadaného pomocou cid, čo môže byť buď index stĺpca, alebo identifikátor stĺpca. Ak chcete nakonfigurovať stĺpec s ikonou, použite hodnotu cid ‚#0‘.Každý stĺpec vo widgete Treeview má vlastnú sadu možností z tejto tabuľky:
anchor, ktorá určuje, kam sa má umiestniť obsah stĺpca. Predvolená hodnota je ‚w‘.
id Názov stĺpca – Táto možnosť je len na čítanie a nastavuje sa pri volaní konštruktora.
minwidth – Minimálna šírka stĺpca v pixeloch; predvolená hodnota je 20.
stretch – Ak je táto možnosť True, šírka stĺpca sa upraví pri zmene veľkosti widgetu. Predvolená hodnota je 1.
width – Počiatočná šírka stĺpca v pixeloch; predvolená hodnota je 200.
Ak nie je zadaná žiadna hodnota voľby ani žiadny iný argument kľúčového slova, metóda vráti slovník možností stĺpca pre zadaný stĺpec.Ak chcete zistiť aktuálnu hodnotu možnosti s názvom X , použite argument option=X.Ak chcete nastaviť jednu alebo viac možností stĺpca, môžete odovzdať argumenty kľúčových slov pomocou názvov možností uvedených vyššie, napr. anchor=tk.CENTER na vycentrovanie obsahu stĺpca.
.delete(*položky) – Argumenty sú hodnoty iid. Všetky položky vo widgete, ktoré majú zodpovedajúce hodnoty iid, sa zničia spolu so všetkými ich potomkami.
.detach(*položky) – Argumenty sú hodnoty iid. Všetky položky widgetu, ktoré majú zhodné hodnoty iid, sú odstránené z viditeľného widgetu spolu so všetkými ich potomkami. Položky nie sú zničené. Môžete ich znovu pripojiť k viditeľnému stromu pomocou metódy .move() opísanej nižšie.
.exists(iid) – Vracia True, ak vo widgete existuje položka s daným iid, alebo False v opačnom prípade. Ak položka nie je momentálne viditeľná, pretože bola odstránená metódou .detach(), na účely metódy .exists() sa stále považuje za existujúcu.
.focus([iid]) – Ak tejto metóde neuvediete argument, dostanete späť buď iid položky, ktorá má momentálne fokus, alebo “, ak žiadna položka nemá fokus. Fokus môžete prvku prideliť odovzdaním jeho iid ako argumentu tejto metódy.
.get_children([item]) – Vráti tuple hodnôt iid detí položky zadanej argumentom item. Ak je argument vynechaný, dostanete tuple obsahujúci hodnoty iid položiek najvyššej úrovne.
.heading(cid, option=None, **kw) – Túto metódu použite na konfiguráciu hlavičky stĺpca, ktorá sa zobrazí v hornej časti widgetu pre stĺpec špecifikovaný pomocou cid, čo môže byť buď index stĺpca, alebo identifikátor stĺpca. Na konfiguráciu záhlavia nad stĺpcom s ikonou použite argument cid s hodnotou „#0“.Každý nadpis má vlastnú sadu možností s týmito názvami a hodnotami:
anchor – ktorá určuje, ako je nadpis zarovnaný v rámci stĺpca; pozri časť 5.5, „Kotvy“. Predvolená hodnota je tk.W.
command – Procedúra, ktorá sa zavolá, keď používateľ klikne na nadpis tohto stĺpca.
image – Ak chcete v záhlaví stĺpca zobraziť grafiku (buď spolu s textovým záhlavím, alebo namiesto neho), nastavte túto možnosť na obrázok, ako je uvedené v časti 5.9, „Obrázky“.
text – ktorý sa má zobraziť v záhlaví stĺpca.
Ak neuvediete žiadne argumenty kľúčového slova, metóda vráti slovník zobrazujúci aktuálne nastavenia možností záhlavia stĺpca. Ak sa chcete opýtať na aktuálnu hodnotu niektorej možnosti záhlavia X, použite argument v tvare option=X; metóda vráti aktuálnu hodnotu tejto možnosti.
Môžete nastaviť jednu alebo viac možností záhlavia tak, že ich zadáte ako argumenty kľúčového slova, napríklad „anchor=tk.CENTER“.
.identify_column(x) – Pri zadaní súradnice x táto metóda vráti reťazec v tvare „#n“, ktorý identifikuje stĺpec, ktorý obsahuje túto súradnicu x.
Za predpokladu, že je zobrazený stĺpec s ikonou, hodnota n je 0 pre stĺpec s ikonou; 1 pre druhý fyzický stĺpec; 2 pre tretí fyzický stĺpec; atď. Pripomeňme, že číslo fyzického stĺpca sa môže líšiť od čísla logického stĺpca v prípadoch, keď ste ich preskupili pomocou argumentu displaycolumns v konštruktore Treeview.
Ak nie je zobrazený stĺpec ikony, hodnota n je 1 pre prvý fyzický stĺpec, 2 pre druhý atď.
.identify_element(x, y) – Vráti názov prvku na mieste (x, y) vzhľadom na widget alebo “, ak sa na tomto mieste žiadny prvok nezobrazuje. Názvy prvkov sú opísané v časti 50, „Vrstva prvkov ttk“.
.identify_region(x, y)) – Pri daných súradniciach bodu vzhľadom na widget táto metóda vráti reťazec označujúci, ktorá časť widgetu obsahuje tento bod. Vrátené hodnoty môžu zahŕňať:
‚nothing‚ Bod sa nenachádza vo funkčnej časti widgetu.
‚heading‘ Bod sa nachádza v jednom z nadpisov stĺpcov.
‚separator‘ Bod sa nachádza v riadku nadpisov stĺpcov, ale na oddeľovači medzi stĺpcami. Použite metódu .identify_column() na určenie, ktorý stĺpec sa nachádza naľavo od tohto oddeľovača.
‚tree‘ Bod sa nachádza v stĺpci s ikonou.
‚cell‘ Bod sa nachádza v rámci riadku položky, ale nie v rámci stĺpca ikony.
.identify_row(y) – Ak sa y-ová súradnica y nachádza v jednej z položiek, táto metóda vráti iid tejto položky. Ak sa táto vertikálna súradnica nenachádza v položke, táto metóda vráti prázdny reťazec.
.index(iid) – Táto metóda vráti index položky so zadaným iid vzhľadom na jej nadradenú položku, počítajúc od nuly.
.set_children(item, *newChildren) – Túto metódu použite na zmenu množiny detí položky, ktorej iid je item. Argument newChildren je postupnosť reťazcov iid. Všetky súčasné deti položky, ktoré nie sú v newChildren, sa odstránia.
.insert(parent, index, iid=None, **kw) – Táto metóda pridá do stromu novú položku a vráti hodnotu iid položky. Argumenty:
parent – Ak chcete vložiť novú položku najvyššej úrovne, vytvorte tento argument ako prázdny reťazec. Ak chcete vložiť novú položku ako potomka existujúcej položky, zadajte ako tento argument iid rodičovskej položky.
index – Tento argument určuje pozíciu medzi deťmi tohto rodiča, na ktorú sa má nová položka pridať. Ak chcete napríklad vložiť položku ako nového prvého potomka, použite hodnotu nula; ak ju chcete vložiť za prvého potomka rodiča, použite hodnotu 1; atď. Ak chcete pridať novú položku ako posledného potomka rodiča, nastavte hodnotu tohto argumentu na „end“.
iid – Môžete zadať iid položky ako reťazcovú hodnotu. Ak iid neuvediete, bude automaticky vygenerované a vrátené metódou.Môžete tiež zadať niekoľko možností položky ako argument kľúčového slova tejto metódy.
image – Môžete zobraziť obrázok hneď napravo od ikony pre riadok tejto položky zadaním argumentu image=I, kde I je obrázok, ako je uvedené v časti 5.9, „Obrázky“.
open – Táto možnosť určuje, či bude táto položka na začiatku otvorená. Ak zadáte open=False, táto položka bude zatvorená. Ak uvediete open=True, deti položky budú viditeľné vždy, keď bude viditeľná samotná položka. Predvolená hodnota je False.
tags – Môžete zadať jeden alebo viac reťazcov tagov, ktoré sa majú priradiť k tejto položke. Hodnota môže byť buď jeden reťazec, alebo postupnosť reťazcov.
text – Môžete zadať text, ktorý sa má zobraziť v stĺpci ikony tejto položky. Ak je zadaný, tento text sa zobrazí napravo od ikony a tiež napravo od obrázka, ak je uvedený.
values – Tento argument dodáva dátové položky, ktoré sa majú zobraziť v každom stĺpci položky. Hodnoty sa dodávajú v logickom poradí stĺpcov. Ak je zadaných príliš málo hodnôt, zvyšné stĺpce budú v tejto položke prázdne; ak je zadaných príliš veľa hodnôt, dodatky sa vyradia.
.item(iid[, option[, **kw]]) – Túto metódu použite na nastavenie alebo načítanie možností v rámci položky zadanej pomocou iid. Názvy možností položky nájdete v metóde .insert() vyššie.
Bez argumentov vráti slovník, ktorého kľúče sú názvy možností a príslušné hodnoty sú nastavenia týchto možností. Ak chcete získať hodnotu danej možnosti, odovzdajte jej názov ako druhý argument. Ak chcete nastaviť jednu alebo viac možností, odovzdajte ich metóde ako argumenty kľúčového slova.
.move(iid, parent, index)
Presun položky zadanej pomocou iid na hodnoty pod položkou zadanou pomocou parent na pozíciu index. Argumenty parent a index fungujú rovnako ako argumenty metódy .index().
.next(iid) – Ak položka špecifikovaná iid nie je posledným potomkom svojho rodiča, táto metóda vráti iid nasledujúceho potomka; ak je posledným potomkom svojho rodiča, táto metóda vráti prázdny reťazec. Ak je zadaný prvok prvkom najvyššej úrovne, metóda vráti iid nasledujúceho prvku najvyššej úrovne alebo prázdny reťazec, ak je zadaný prvok posledným prvkom najvyššej úrovne.
.parent(iid) – Ak je položka zadaná pomocou iid položkou najvyššej úrovne, táto metóda vráti prázdny reťazec, inak vráti iid nadradenej položky.
.prev(iid) – Ak položka zadaná pomocou iid nie je prvým potomkom svojho rodiča, táto metóda vráti iid predchádzajúceho potomka; inak vráti prázdny reťazec. Ak je zadaný prvok prvkom najvyššej úrovne, táto metóda vráti iid predchádzajúceho prvku najvyššej úrovne alebo prázdny reťazec, ak ide o prvý prvok najvyššej úrovne.
.see(iid) – Táto metóda zabezpečí, že položka zadaná pomocou iid je viditeľná. Všetci jej predkovia, ktorí sú zatvorení, sú otvorení. Ak je to potrebné, widget sa posunie tak, aby sa položka zobrazila.
.selection_add(items) – Okrem všetkých už vybraných položiek pridá zadané položky. Argumentom môže byť buď jedno iid, alebo postupnosť iid.
.selection_remove(items) – Zrušenie výberu všetkých položiek špecifikovaných argumentom, ktorým môže byť jedno iid alebo postupnosť iid.
.selection_set(items) – Vyberú sa len zadané položky; ak boli predtým vybrané iné položky, nevyberú sa.
.selection_toggle(items) – Argumentom môže byť jedno iid alebo postupnosť iid. Pre každú položku špecifikovanú argumentom, ak bola vybraná, zruší sa jej výber; ak nebola vybraná, vyberie sa.
.set(iid, column=None, value=None) – Túto metódu použite na načítanie alebo nastavenie hodnôt stĺpcov položky špecifikovanej pomocou iid. S jedným argumentom metóda vráti slovník: kľúče sú identifikátory stĺpcov a každá súvisiaca hodnota je text v príslušnom stĺpci.
S dvoma argumentmi metóda vráti hodnotu údajov zo stĺpca vybranej položky, ktorej identifikátorom stĺpca je argument stĺpec. Pri troch argumentoch sa hodnota položky pre určený stĺpec nastaví na tretí argument.
.tag_bind(tagName, sequence=None, callback=None) – Táto metóda viaže obsluhu udalosti určenú argumentom callback na všetky položky, ktoré majú tagName. Argumenty sequence a callback fungujú rovnako ako argumenty sequence a func metódy .bind() opísanej v časti 26, „Univerzálne metódy widgetov“.
.tag_configure(tagName, option=None, **kw) – Táto metóda sa môže pýtať alebo nastavovať možnosti, ktoré ovplyvňujú vzhľad všetkých položiek, ktoré majú tagName. Možnosti tagu zahŕňajú:
‚background‘ Farba pozadia.
‚font‘ Písmo textu.
‚foreground‘ Farba popredia.
‚image‘ Obrázok, ktorý sa má zobraziť v položkách s daným tagom.
Pri volaní s jedným argumentom vráti slovník aktuálnych možností značky. Ak chcete vrátiť hodnotu konkrétnej možnosti X, použite X ako druhý argument.Ak chcete nastaviť jednu alebo viac možností, použite argumenty s kľúčovými slovami, napríklad foreground=’red‘.
.tag_has(tagName[, iid]) – Táto metóda volaná s jedným argumentom vráti zoznam hodnôt iid pre všetky položky, ktoré nesú tagName. Ak ako druhý argument uvediete iid, metóda vráti True, ak položka s týmto iid má tagName, inak False.
.xview(*args) – Toto je obvyklá metóda na pripojenie horizontálneho posuvníka k rolovaciemu widgetu. Podrobnosti nájdete v časti 22.1, „Spätné volanie príkazu Scrollbar“.
.yview(*args) – Toto je obvyklá metóda na pripojenie vertikálneho posuvníka k rolovateľnému widgetu. Podrobnosti nájdete v časti 22.1, „Spätné volanie príkazu Scrollbar“.
from tkinter import *
from tkinter import ttk
from tkinter.messagebox import showinfo
root = Tk()
root.geometry('600x300')
root.title('Tkinter Demo')
statusbar = Label(root, text="Hello world", bd=1, relief=SUNKEN, anchor=W)
statusbar.pack(side=BOTTOM, fill=X)
columns = ('first_name', 'last_name', 'email')
frame = Frame(root)
frame.pack()
tree = ttk.Treeview(frame, columns=columns, show='headings')
# definícia hlavičiek
tree.heading('first_name', text='First Name')
tree.heading('last_name', text='Last Name')
tree.heading('email', text='Email')
# generovanie vymyslených dát
contacts = []
for n in range(1, 100):
contacts.append((f'first {n}', f'last {n}', f'email{n}@example.com'))
# pridanie dát do stromu
for contact in contacts:
tree.insert('', END, values=contact)
def item_selected(event):
for selected_item in tree.selection():
item = tree.item(selected_item)
record = item['values']
# show a message
showinfo(title='Information', message=','.join(record))
tree.bind('<<TreeviewSelect>>', item_selected)
tree.grid(row=0, column=0, sticky='nsew')
# pridanie scrollbar
scrollbar = ttk.Scrollbar(frame, orient=VERTICAL, command=tree.yview)
tree.configure(yscroll=scrollbar.set)
scrollbar.grid(row=0, column=1, sticky='ns')
# beh aplikacie
root.mainloop()