Dokončíme pythonovsko-tkinterovský Prohlížeč obrázků. Letem světem, protože předpokládám, že budete více sami objevovat. Zprovozníme tlačítka Vpřed a Vzad, s čímž souvisí tvorba seznamu, ve kterém budou všechny obrázky z adresáře s aktuálním obrázkem. Potom Stavový řádek a úkol je hotov!
Vlevo a vpravo
Chceme-li se po stisknnutí tlačítka Vlevo pohnout doleva, budeme asi chtít, aby se zobrazil předchozí obrázek. Snad nejlepší bude, abychom si při načítání prvního obrázku udělali seznam všech obrázků (kontejner.obrazky) v adresáři, ve kterém leží ten první. A taky bude vhodné si pamatovat index toho obrázku, který je právě zobrazen (kontejner.index). Abychom mohli snadno najít další:
def vlevo():
kontejner.index=kontejner.index-1
zobrazObrazek(kontejner.obrazky[kontejner.index])
Bude potřeba dodělat ještě kontrolu na překročení limitu indexu, protože… No vyzkoušejte sami a upravte. Funkce Vpravo bude vypadat velmi podobně.
Seznam obrázků
Na vytvoření seznamu všech obrázů bude nejlépe si vytvořit funkci, kterou budeme volat z funkce, která zpracovává vstupní argumenty. Následuje algoritmus, který ukazuje cestu. Většinu funkcí, které budete zde potřebovat, najdete v modulu os.path.
def seznamObrazku(obrazek):
zjisti cestu k obrazku
kontejner.obrazky=[]
for soubor in os.listdir(cesta):
zjisti příponu souboru
převeď příponu raději na malá písmena, protože JPG != jpg
pokud je přípona obsažena v [".gif",".jpg",".bmp"]:
vyrob plnou cestu k obrázku (protože pracujeme s plnými cestami)
kontejner.obrazky.append(cestaPlna)
zjisti index obrazku (kontejner.index=.............)
Stavový řádek
Zbývá nám prázdný řádek pod obrázkem. Zajistěte, nejlépe ve funkci zobrazObrazek(), aby se do něj insertovaly informace, jaké chcete. Třeba jméno nebo velikost, čas a apod.
Další
Jistě je spousta věcí, které by se daly přidělat. Hodně z toho, co vidítě u konkurečních Prohlížečů obrázků, a snad i něco jiného, nového, Vašeho.
Úkol
Funkční Prohlížeč obrázků. Ještě jednou opakuji z minulé lekce: Na všechna řešení se těším, bez ohledu na to, jestli tento článek čtete v den vydání nebo 5 let po ;-)
Dost bylo geona!
Toto je závěr druhé dvanáctky lekcí kurzu Python. Tímto se s Vámi loučím a těším se na setkávání na forech. Pokud se nic zvláštního nestane, kurz Pythonu ode mne na Programujte touto lekcí končí. Doufám, že se časem objeví někdo, kdo povede kurz Python II, případně seriál Python, Tipy a triky Python nebo co já vím. Přeji mu mnoho štěstí :-)