[Python] Pythoncard

Alessandro Ronchi alessandro.ronchi a soasi.com
Lun 27 Nov 2006 09:30:38 CET


Ciao a tutti. Volevo chiedervi cosa ne pensate di pythoncard. Secondo voi è 
utile oppure è meglio sviluppare direttamente tramite wxPython?

Devo fare una piccola applicazione di prova che legga linee da un file e le 
metta in un widget list.

così nella funzione  def on_initialize(self, event) ho inserito:
thread.start_new_thread(mythread,(self.components,5))

che mi apre un nuovo thread così composto:

def mythread(components, sleeptime,*args):
        while 1:
            if components.ON.checked:
                reader = SerialRFIDReader()
                line = reader.read()
                listitems = components.List1.items
                listitems.append(line)
                components.List1.items = listitems
                time.sleep(sleeptime) #sleep for a specified amount of time.

mentre se stampo listsitems mi restituisce la lista corretta, l'applicazione 
non visualizza nulla all'interno della mia lista List1.
Se invece assegno gli item in questo modo:
        self.components.List1.items = ["a"]
funziona.
Avete idea del perché?

nello stesso thread se faccio components.List1.items = ["a"] il widget si 
disallinea con l'applicazione e fino a quando non riavvio l'applicazione non 
riuscirò più a gestire i valori della lista (ho un pulsante che mi setta ad 
["a"] il valore della lista, all'interno della classe principale del mio 
pythoncard, che funziona.

L'idea che mi è venuta è che ci sia un errore nel passaggio per riferimento di 
components al thread, ma sono un novello di python e pur scervellandomi non 
sono riuscito a capire il problema.

Ringrazio infinitamente chi mi aiuterà nel trovarlo...


-- 
Alessandro Ronchi
Skype: aronchi - Wengo: aleronchi
http://www.alessandroronchi.net - Il mio sito personale
http://www.soasi.com - Sviluppo Software e Sistemi Open Source


Maggiori informazioni sulla lista Python