Tkinter - je to grafický modul Pythonu, který se používá k vytváření uživatelských rozhraní. Poskytuje různé widgety a techniky pro vytváření oken, tlačítek, textových polí a dalších.
Standardní funkce Tkinter však nezahrnují metodu pro zobrazování obrázků. V tomto článku vám řekneme, jak zobrazit obrázek v Tkinteru pomocí modulu PIL (Python Imaging Library) a jeho metody.
Než začnete, ujistěte se, že máte nainstalovaný modul PIL.
Poznámka: v následujících příkladech použijeme formát obrázku .png, ale můžete také použít jiné formáty podporované modulem PIL.
- Importujte modul Tkinter:
- import Tkinter as tk
- Vytvořte instanci třídy Tk :
- root = tk.Tk()
- Stáhněte si obrázek pomocí třídy PhotoImage :
- image = tk.PhotoImage (file= " cesta_k_kartinke.png")
- Vytvořte widget Label, který bude obsahovat obrázek:
- label = tk.Label(root, image=image)
- Přidejte widget do okna hlavní aplikace:
- label.pack()
- Spusťte hlavní cyklus Tkinter:
- root.mainloop()
Po provedení těchto kroků, uvidíte obrázek na obrazovce aplikace Tkinter. Ujistěte se, že jste zadali správnou cestu k souboru s obrázkem. Pokud je cesta zadána nesprávně, obrázek se nezobrazí.
Vytvoření grafického rozhraní pomocí Tkinter
V tomto článku se podíváme na to, jak vytvořit grafické rozhraní pomocí knihovny Tkinter v programovacím jazyce Python.
Tkinter je standardní Knihovna pro vytváření grafických rozhraní v Pythonu. Nabízí různé widgety a techniky pro snadné vytváření uživatelských rozhraní.
Chcete-li začít s Tkinterem, musíte importovat příslušný modul:
| import tkinter as tk |
Poté můžete vytvořit hlavní okno, které bude obsahovat všechny ostatní prvky rozhraní. K tomu slouží třída Tk:
| root = tk.Tk() |
Dále můžete do hlavního okna přidat různé widgety, jako jsou tlačítka, značky, vstupní pole atd. Chcete-li například přidat tlačítko, musíte vytvořit instanci třídy Button a zadat text, který se zobrazí na tlačítku:
| button = tk.Button(root, text="zmáčkni mě") |
Po vytvoření widgetu je třeba jej umístit na hlavní okno. K tomu slouží Správce geometrie grid, který umožňuje umístění widgetů do buněk tabulky. Chcete-li například umístit tlačítko na hlavní okno, musíte zavolat metodu grid a zadat souřadnice buňky:
| button.grid(row=0, column=0) |
Když jsou všechny potřebné widgety přidány a umístěny v hlavním okně, můžete spustit hlavní cyklus zpracování událostí, který bude sledovat všechny aktivity uživatele. K tomu je povolána metoda mainloop:
| root.mainloop() |
Pomocí knihovny Tkinter je tedy možné vytvořit grafické rozhraní a přidat do něj různé ovládací prvky. Díky tomu je program uživatelsky přívětivější a intuitivnější.
Nahrávání a zobrazování obrázků v Tkinter
Tkinter má možnost stáhnout a zobrazit obrázek v okně aplikace. K tomu je třeba provést následující kroky:
Krok 1. Importovat modul ' tkinter`:
import tkinter as tk
Krok 2. Vytvořit hlavní okno aplikace:
Krok 3. Vytvořit objekt 'PhotoImage `stažením obrázku pomocí metody` open () `z modulu' PIL.Image`:
from PIL import ImageTk, Image
Nahraďte '" image.png "' na cestě k vašemu obrázku.
Krok 4. Vytvořit widget 'Label' a zadat argument 'image' rovným objektu ' PhotoImage`:
label = tk.Label(window, image=photo)
Krok 5. Umístit widget 'Label' do okna pomocí metody ' pack`)':
Krok 6. Spustit hlavní cyklus zpracování událostí:
Po dokončení všech kroků bude obrázek stažen a zobrazen v okně aplikace.
Ke stažení a zobrazení obrázku v Tkinteru je nutné použít modul 'PIL`, který lze nainstalovat pomocí příkazu`pip install pillow'.
Konfigurace nastavení zobrazení obrázku v Tkinter
- anchor : určuje, jak bude obrázek umístěn vzhledem k dané souřadnici. Může mít hodnoty "center", "n", "s", "e", "w", "ne", "nw", "se", "sw".
- padx: nastaví horizontální ústup obrázku od okraje widgetu.
- pady: nastaví vertikální ústup obrázku od okraje widgetu.
- image : označuje obrázek, který má být vyveden. Lze jej vytvořit pomocí funkce PhotoImage .
Kombinací těchto možností můžete dosáhnout požadovaného zobrazení obrázku v okně Tkinter. Můžete například zarovnat obrázek na levý horní roh a přidat odsazení pomocí následujícího kódu:
image_label = tkinter.Label(root, image=image, anchor="nw", padx=10, pady=10)
Použijte tyto možnosti v kombinaci s dalšími funkcemi Tkinter k vytvoření interaktivních a krásných uživatelských rozhraní.