[Python] Problema refresh wx
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
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
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
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