[python] vykonávanie príkazu každých 5 sekún a práca s aplikáciou

miamia peterirbizon na gmail.com
Středa Květen 18 02:38:05 CEST 2011


On 11 kvě, 23:29, Petr Messner <petr.mess... na gmail.com> wrote:
> Ahoj, co je to to s, na kterém voláš s.enter?
>
> Předpokládám, že děláš nějakou GUI aplikaci. Máš asi dvě možnosti: 1) vytvořit vlákno a v něm v nekonečné smyčce volat sleep(5) a tvůj příkaz, nebo 2) využít možností GUI knihovny, kterou používáš - typicky umožňují načasovat nějakou událost, která se pak provede v rámci event loop.
>
> Jak přesně myslíš, že by to mělo běžet na pozadí? Je součástí toho, co chceš periodicky spouštět, něco náročného, kvůli čemu by GUI mohlo nepříjemně "zamrznout"?
>
> Petr Messner
>
> 11.5.2011 v 23:03, miamia <peterirbi... na gmail.com>:
>
>
>
> > zdravím vospolok,
>
> > prosím o radu skúsenejších, používam na vykonanie príkazu každých 5
> > sekúnd toto:
> > def do_event():
> >  print "5 seconds, hurray!"
> >  s.enter(5, 1, do_event, ())
>
> > s.enter(1, 1, do_event, ())
> > s.run()
>
> > avšak potreboval by som niečo také, ako je vo Visual Basicku Timer,
> > teda, že časovač bude bežať na pozadí (a v stanovenej dobe vykonávať
> > príkazy), ale zároveň sa bude dať pracovať s aplikáciou (klikať na
> > tlačidlá atď).  sorry za blbý dotaz, ale fakt len začínam s
> > pythonom... diky moc
> > _______________________________________________
> > Python mailing list
> > Pyt... na py.cz
> >http://www.py.cz/mailman/listinfo/python- Skrýt citovaný text -
>
> - Zobrazit citovaný text -

áno, je to GUI aplikácia, ale nemyslím si, že by kvôli tomu zmrzla.
vdaka za odpoved, skusam to vyriesit takto:
        global timer_id
        timer_id = gobject.timeout_add(5000, self.kazdych_5_sekund)


Další informace o konferenci Python