Tkinter/Poznámky a přehledy
< Tkinter
Tato stránka je součástí projektu: | |
Příslušnost: Juandev |
Toto je doplňkový studijní materiál k pythonovské knihovně Tkinter. V sekci poznámky můžete zanechávat poznámky ke knihovně v rámci svého studia této knihovny, nebo komentovat jednotlivé poznámky, pokud s nimi nesouhlasíte. Příklad:
- Tkinter je jedinou knihovnou umožňující pracovat s grafickým zobrazením[kom 1]
Komentář vložíte následovně: zapnutý vizuální editor – kurzor na konci řádku – Citace – Ručně – Základní – v Možnostech vybrat "kom" – Vložit
V další části se nachází přehledy, které si komunita sama vytváří. Nic neopisujte, bylo by to porušením autorského práva!
Poznámky
editovat- vše je Widget, takže se například musí vytvořit kořenový Widget
- každý Widget se napřed definuje a pak se zobrazuje na obrazovku
- tkinter nápověda v příkazovém řádku odkazuje pro úplnost na nápovědu na stránkách Python, zde se píše, že má člověk ale kouknout do originální, nápovědy, která ale není k nalezení
- dobré je importovat i tkinter.ttk přes
from tkinter import ttk
, který obsahuje moderní vzhled widgetů - pozicování prostřednictvím metody
.grid()
vypadá následovně:
wid1.grid(row=0, column=0)
wid2.grid(row=0, column=7)
- je ale vždy relativní, tzn, že prvky (wid1, wid2) se nepozicují ve vztahu k okno
Tk()
, ale ve vztahu k sobě navzájem, tzn. že column 1 bude stejně daleko jako coulumn 7, právě proto, že jsou tam jen dva prvky, které tam vkládám.
- je ale vždy relativní, tzn, že prvky (wid1, wid2) se nepozicují ve vztahu k okno
- geometry managery pozicují prvky relativně, tzn. každý ve vztahu k předchozímu
- takže základní stavebním blokem je widget, který se musí nějak umístit a následně ostylovat
- tak jak se widgety umístí, tak jsou umístěny i v hlavním okně, pokud je neumístím jinak pomocí metod rozvrtční
- tak přetrvává podobný problém jako u Pythonu, že nexistuje velká indexová dokumentace. Člověk něco vidí (například metody
.stringVar()
či .get()
), chce si k tomu přečíst víc, a neví kde to hledat
Komentáře
editovat- ↑ Není to prava. Takových knihoven je mnoho. Výhodou Tkinter je ale široká podpora a to že se o tuto knihovnu stará vývojářský tým Pythonu.
Parametry metod dle widgetu
editovat.configure()
editovatV tabulce níže uvádíme pro přehled kofigurační možnosti a hodnoty metody .configure()
pro jednotlivé widgety.
Č. | Widget | Parametr | Hodnoty | Vysvětlivky | Poznámky |
---|---|---|---|---|---|
1 | Label
|
text
|
řetězec, nebo proměnná | ||
2 | image
|
proměnná | Obrázek se vloží do proměnné pomocí funkce PhotoImage() .
|
||
3 | compound
|
|
Vztahuje se ke konfigurační možnosti image. Jednotlivé hodnoty tedy znamenají:
|
||
4 | font
|
Pozor na to, že netradiční fonty, nemusí být přítomny na jiných zařízeních | |||
5 | foreground |
|
Mění barvu textu. Je možné zadat slovně, nebo kódem. Všechny dostupné slovní možnosti zde. | Nicméně teď zjišťuji, že mě to bere i název, který není v seznamu, například "aqua" (tradiční CSS název). | |
6 | background |
|
Mění barvu pozadí textu. | ||
7 | relief | ||||
8 | padding | ||||
9 | Entry | width | |||
10 | show | řetězec | Používá se například pro vyplnění vstupního ple textovým placeholderem po zadání hesla. | ||
11 | state | ||||
Menu | |||||
.insert()
editovatČ. | Widget | Parametr | Hodnoty | Kód | Vysvětlivky |
---|---|---|---|---|---|
1 | Combobox | index | |||
2 | text | (řetězec obalený uvozovkami) | |||
3 | Entry | index | (integer) | .insert(index = 0, text = "00420") | Parametry mohou být zapsány buď pojmenovaně, tedy insert(index = 0, text = "00420") , nebo pouze formou hodnot: .insert(0, "00420") .
|
4 | text | (řetězec obalený uvozovkami) | .insert(text = "něco") | ||
5 | Listbox | index | |||
6 | (elements) | ||||
7 | Text | index | (řetězec řádek.znak, případně konkrétní řetězec ("end" , "insert" , "current" , "marks" )
|
.insert("1.0", "test") | |
8 | line.character | ||||
9 | text | (řetězec obalený uvozovkami) | |||
10 | Treeview | parent | (prázdný řetězec, nebo 'I001'; kód konkrétní položky ('I050')) | Definuje pod kterou položku se něco v Treeview zařadí. | |
11 | text | (řetězec obalený uvozovkami) | |||
index | číslo, end, nebo | ||||
12 | iid | ||||
13 | (možnosti) |
Odkazy
editovat- Tkdocs tutorial.com – rozepisuje jednotlivé prvky modulu a uvádí jejich využití v Pythonu, Tcl, Ruby a Perlu
- pythontutorial.net/tkinter – celkem dobře a podrobně rozepisuje různé možnosti, např. má velký přehled možností funkce
bind()