[python] Prekreslovani GUI behem prace (bylo Priorita provadene akce)

Petr Prikryl PrikrylP na skil.cz
Úterý Prosinec 19 09:46:49 CET 2006


Martin Jedlička
> Zdravim, mam napsanou aplikaci ve wxPythonu. 
> Na stisknuti tlacitka se provadi nejaka akce 
> (aplikace se pripojuje pres SSH na server). 
> Jelikoz tato akce trva nekolik vterin, tak se 
> napr. prepnu do jineho okna a delam si jine veci. 
> Kdyz se ale opet prepnu do aplikace v pythonu, 
> tak je zobrazeno jen bile okno (akce stale bezi
> na pozadi, ale GUI se nezobrazi).
> Podobny problem, jako kdyz program ve Windows 
> neodpovida dokud se akce nedokonci. Nevite, 
> jak zaridit, aby ta aplikace (to GUI) bylo 
> videt i po navratu z jine aplikace? 
> Najake nastaveni priorit procesu?

Nesouvisí to přímo s Pythonem. Je to obecnější.
Pokud vše obsluhuje jenom jeden proces, bude se 
to takhle chovat. Priorita procesu s tím nesouvisí,
protože je to pořád jen jeden proces, který je 
zaneprázdněn jinou činností. Požadavek na překreslení 
okna čeká v podobě zprávy ve frontě a zpracuje
se až v okamžiku, kdy se proces dostane do hlavní
smyčky zpráv. Vynutit se to dá pomocí idle cyklu. 
Případně by se možná dalo nakouknout do fronty 
zpráv a zařídit si to překreslení ve vlastní režii.
Ale typicky se to dělá v jiném threadu/procesu.

pepr


Další informace o konferenci Python