Python - 24. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Python - 24. lekcePython - 24. lekce

 

Python - 24. lekce

Google       Google       27. 8. 2006       23 486×

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!

Reklama
Reklama

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í :-)

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Pavel KosinaAutor programuje v Pythonu.
Web    

Nové články

Obrázek ke článku RAD Studio a Windows Store

RAD Studio a Windows Store

RAD Studio je první vývojové prostředí se zabudovanou podporou balení aplikací typu Win32 a Win64 pro jejich umístění a šíření prostřednictvím Windows 10 Store.

Reklama
Reklama
Obrázek ke článku Testujte na 2 400+ Android a iOS zařízení

Testujte na 2 400+ Android a iOS zařízení

V dnešní době, kdy většina softwaru pro mobilní aplikace je tvořena a distribuována průběžně, mnohdy do celého světa je třeba zajistit také průběžnou automatizaci testování mobilního softwaru. V případě mobilních aplikací pro Android a iOS začíná být problém, jak testovat na obrovském množství kombinací HW variant, rozměrů, edic operačních systémů různých výrobců v různých částech světa na reálných zařízení. Simulátory a emulátory nejsou většinou to pravé. Pokud již testuji, jak si udělat vlastní beta distribuci opravdovým reálným testerům napříč platformami?

Obrázek ke článku Funkcie main vo Windows API

Funkcie main vo Windows API

V tretej časti seriálu o Windows API budeme hovoriť o funkčných prototypoch main. Funkčný prototyp je tvorený názvom funkcie a typom signatúry, pričom sa vynecháva telo funkcie. 

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý