[Python] Problema refresh wx

2014-12-02 Per discussione Riccardo Brazzale
Ciao a tutti,

ho fatto uno script su windows che prende i file di una determinata
directory e tenta l'invio via mail con un ciclo.
Funziona ma ho il seguente problema:
a video (wx) mostra una serie di statistiche sull'invio (numero file
inviati, file rimanenti etc) che vengono aggiornate a ogni ciclo.
Dopo un po che pompa mail,entra in funzione lo screen saver, al rientro
il refresh dei dati non funziona più (sulla barra vedo non risponde) ma
in realtà il programma sta ancora funzionando.

Ho visto che il problema si presenta anche se nel frattempo faccio
qualcos'altro e poi riprendo la videata che mostra le statistiche: anche in
questo caso il refresh della videata smette di funzionare.

Idee?


Grazie.

-- 
Riccardo Brazzale
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Problema refresh wx

2014-12-02 Per discussione Francesco Pischedda
Il giorno 2 dicembre 2014 19:17, Riccardo Brazzale 
riccardo.brazz...@gmail.com ha scritto:


 Ciao a tutti,

 ho fatto uno script su windows che prende i file di una determinata
 directory e tenta l'invio via mail con un ciclo.
 Funziona ma ho il seguente problema:
 a video (wx) mostra una serie di statistiche sull'invio (numero file
 inviati, file rimanenti etc) che vengono aggiornate a ogni ciclo.
 Dopo un po che pompa mail,entra in funzione lo screen saver, al rientro
 il refresh dei dati non funziona più (sulla barra vedo non risponde) ma
 in realtà il programma sta ancora funzionando.

 Ho visto che il problema si presenta anche se nel frattempo faccio
 qualcos'altro e poi riprendo la videata che mostra le statistiche: anche in
 questo caso il refresh della videata smette di funzionare.

 Idee?


non sapendo come hai strutturato il tuo programma posso solo pensare che
hai messo il codice di invio e aggiornamento dell'interfaccia nella
gestione dell'evento click del bottone invia; se le cose stanno così,
quando il tuo programma riprende il focus non riesce a gestire gli eventi
di repaint (probabilmente perchè nn ritorni al event loop).

Sempre basandomi sulla mia ipotesi dovresti separare il codice di invio
email da quello che gestisce l'interfaccia sincronizzando in qualche modo
le due cose per mostrare a schermo l'avanzamento dell'operazione; con pyqt
potresti usare un paio di signal con wx nn saprei che consigliare di
preciso.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Problema refresh wx

2014-12-02 Per discussione Riccardo Brazzale
Il giorno 2 dicembre 2014 19:36, Francesco Pischedda 
francesco.pische...@gmail.com ha scritto:

 non sapendo come hai strutturato il tuo programma


Il codice è qui:


http://pastebin.com/hGY3Jd6a

Grazie comunque.


-- 
Riccardo Brazzale
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Problema refresh wx

2014-12-02 Per discussione Francesco Pischedda
a quanto vedo dal codice la mia ipotesi è confermata

self.btn.Bind(wx.EVT_BUTTON, self.Converti)

e Converti fa tutto senza ridare controllo al event loop dell'interfaccia

la cosa ideale, secondo me, è avviare il codice di Converti in un thread
separato che in qualche modo comunichi con l'interfaccia (come dicevo
prima, per la comunicazione, in pyqt si usano i signal) e questa, usando la
comunicazione che parte dal thread, aggiorna l'interfaccia di conseguenza.

Scusa se non posso essere più preciso

Il giorno 2 dicembre 2014 20:01, Riccardo Brazzale 
riccardo.brazz...@gmail.com ha scritto:


 Il giorno 2 dicembre 2014 19:36, Francesco Pischedda 
 francesco.pische...@gmail.com ha scritto:

 non sapendo come hai strutturato il tuo programma


 Il codice è qui:


 http://pastebin.com/hGY3Jd6a

 Grazie comunque.


 --
 Riccardo Brazzale


 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python




-- 
Shipping is a feature. A really important feature. Your product must have
it.

Unix IS user friendly. It's just selective about who its friend are
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python