Generování časových událostí – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Generování časových událostí – Python – Fórum – Programujte.comGenerování časových událostí – Python – Fórum – Programujte.com

 

23. 6. 2007   #1
-
0
-

Mám prográmek s GUI Tkinter a chtěl bych v něm zobrazovat obrázky, aby automaticky po určité prodlevě se změnil obrázek na následující obrázek. Potřeboval bych asi udělat nějaký generátor časových událostí, s tím, že obsluha této události zobrazí další obrázek. Můžete poradit, jak na to?



# -*- coding: utf-8 -*-

from Tkinter import *
from PIL import Image, ImageTk
from time import sleep

class Kontejner:
pass

def zmenaVelikosti (obrazek):
sirka, vyska = obrazek.size
pomer = float (vyska) / kontejner.vyska
sirka = int (sirka / pomer)
vyska = int (vyska / pomer)
obrazek = obrazek.resize ((sirka, vyska))
return obrazek

def zpracovaniObrazku (obrazek):
obr = Image.open (obrazek)
obr = zmenaVelikosti (obr)
photo = ImageTk.PhotoImage(obr)
return photo

def kresli (obrazek):
photo = zpracovaniObrazku (obrazek)
kontejner.platno.create_image(kontejner.sirka/2, kontejner.vyska/2, image=photo)
kontejner.obr = photo


kontejner = Kontejner()
kontejner.sirka = 1024
kontejner.vyska = 768
seznam = ["lekniny.jpg", "hory.jpg", "vrcholky.jpg", "stromy.jpg"]

hlavni = Tk ()

kontejner.platno = Canvas (hlavni, width = kontejner.sirka, height = kontejner.vyska)
kontejner.platno.pack (expand=1, fill=BOTH)

# --- toto nefunguje, zobrazi jen posledni obrazek ---
# --- vím proč, ale netuším, jak to vyřešit ---
for obrazek in seznam:
kresli (obrazek)
sleep (2)
# --- *** ---

hlavni.mainloop ()


Za rady díky

Nahlásit jako SPAM
IP: ...–
Jakub Vojáček
~ Moderátor
0
Grafoman
23. 6. 2007   #2
-
0
-



okno.after(2000,zmen_obrazek)

za 2 sekuny zavolá dunkci zmen_obrazel..

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
Josef Hornych0
Návštěvník
23. 6. 2007   #3
-
0
-

Vyřešený úsek:

# --- toto nefunguje, zobrazi jen posledni obrazek ---

# --- vím proč, ale netuším, jak to vyřešit ---
for obrazek in seznam:
kresli (obrazek)
sleep (2)
hlavni.update()
# --- *** ---

Nahlásit jako SPAM
IP: ...–
Jakub Vojáček
~ Moderátor
0
Grafoman
23. 6. 2007   #4
-
0
-

řešení:



poradi=0
def zmen_obrazek():
photo = zpracovaniObrazku (seznam[poradi])
kontejner.platno.create_image(kontejner.sirka/2, kontejner.vyska/2, image=photo)
kontejner.obr = photo
poradi=poradi+1
hlavni.after(2000,zmen_obrazek)
hlavni.after(2000,zmen_obrazek)
# --- *** ---

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
23. 6. 2007   #5
-
0
-

nádhera, díky moc

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

Podobná vlákna

Prevodnik casovych jednotek v C — založil Katerina Odlozilikova

C# události — založil Wabbit

Události — založil XP

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý