<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-09-21 18:29 GMT+02:00 giulianc51 <span dir="ltr"><<a href="mailto:giulianc51@gmail.com" target="_blank">giulianc51@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Il giorno Mon, 21 Sep 2015 18:20:58 +0200<br>
<span class=""></span></blockquote><div>> [...] </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
</span>devo esemplificare, la mia conoscenza del python non mi consente di<br>
esprimermi nella giusta forma astratta :-( intendevo questo (*): devo<br>
interrogare un device seriale (un gps(**)) e voglio visualizzare in una<br>
table ed in un canvas (tramite pyQt) i dati via via letti;<br>
<br>
eseguo il polling del device e quando i dati sono completi procedo alla<br>
visualizzazione; ultimo particolare, eseguo una scansione continua<br>
quindi ho messo tutte le istruzioni in un ciclo while; orbene, il ciclo<br>
prende il controllo e la visualizzazione grafica viene eseguito alla<br>
fine del ciclo, mentre mi piacerebbe avere la visualizzazione<br>
contestuale alla raccolta dei dati;<br></blockquote><div><br></div><div>Se vuoi usare l'approccio lineare (ciclo while) devi usare i thread, ma fallo nel modo corretto, come ti ha detto Enrico.</div><div>Qt mette a disposizione il supporto per inviare dati tramite threads diversi.</div><div>Quindi esegui la funzione che legge dal gps in un thread separato, e passagli come argomento una Queue di Qt.</div><div>Passa la stessa Queue alla UI.</div><div><br></div><div>Ogni volta che ricevi le coordinate dal GPS invia i dati tramite la coda, e leggili e visualizzali nella GUI.</div><div><br></div><div>L'approccio alternativo è usare il supporto di Qt per leggere dalla seriale in modo asincrono.</div><div>Il problema è che cambia completamente il codice. Purtroppo supporto completo per questo tipo di</div><div>programmazione richiede un framework come Twisted.  Non so come è la situazione per python 3.x.</div><div><br></div><div></div></div><br></div><div class="gmail_extra">Ciao  Manlio</div></div>