[Python] Re: Digest di Python, Volume 7, Numero 6

spa driveallnight a email.it
Sab 11 Nov 2006 19:04:11 CET


> Alle 10:34, sabato 11 novembre 2006, spa ha scritto:
> >         def Conferma_risultato(self,widget):
> >                 ............
> >                 ..............
> >                 .............    
> >    
> >                 if x = Y :
>                      ^^^^^
> 
> Immagino sia x == Y
> 

certo

> >                     self.FM_Glade.get_widget("FM_main_window").hide()
> >                     return lista
> >
> >         
> > come vedete dal listato soprastante  la classe inserimento carica
> > un'interfaccia grafica, che ha un pulsante che richiama ad ogni
> > pressione la funzione conferma, ad ogni pressione viene modificata una
> > lista, e solo ad una determinata condizione (cioe' dopo un tot di
> > pressioni dipendenti da altri fattori) chiude l'interfaccia e ritorna
> > il valore della lista.
> 
> Uhm... non sono sicuro di aver compreso bene: l'utente si trova davanti un 
> tasto 'Conferma' che durante le prime pressioni, finche` non si verifica 
> una determinata condizione, non fa nulla di visibile? Immagino che tu 
> stia usando qualcos'altro per dare un feedback all'utente, ma mi pare 
> comunque poco usabile un'interfaccia del genere.
> 


L'utente si trova davanti ad una finestra dove gli viene proposto di
introdurre dei dati, e alla pressione del tasto "Conferma" va ad
appendere i dati ad una lista.
questo fino a quando non si verifica una determinata condizione

> > fatto cio' pensavo che "lista_partite" assumesse il valore di uscita
> > dal comando "return lista", ma logicamente cio' non e' vero, in quando
> > per avere questo risultato avrei dovuto richiamare direttamente la
> > funzione Conferma, ma non e' cio' che voglio, in quanto ho bisogno di
> > quella lista solo dopo diverse pressioni del pulsante.
> 
> Beh, ma hai self.lista_partite: all'interno della classe 
> INSERIMENTO_RISULTATI puoi accedervi tranquillamente.
> Tra questa window e l'applicazione principale lo puoi condividere.
> 

sicuramento sono io che sbaglio qualcosa,  ma richiamando le variabili
self. della classe , mi da:

    print self.lista_partite_inserite
AttributeError: InterfacciaFM instance has no attribute 'lista_partite_inserite'

InterfacciaFM  è l'interfaccia principale

> > Sono quindi a chiedervi:  come si fa ad avere il risultato "return
> > lista"  nel programma principale senza che vada avanti per i fatti
> > suoi? praticamenti dovrei dirgli : "Aspetta che INSERIMENTO_RISULTATI
> > abbia finito il suo lavoro e ti ritorni un valore"
> 
> Senza che vada avanti il programma principale? Avanti in cosa? Sta 
> processando qualcosa mentre viene richiamata la window di 'Inserimento 
> risultati'?
> Potresti dare un set_modal(True) alla window d'inserimento risultati in 
> modo tale da limitare l'interazione dell'utente con quella window finche` 
> non ha finito, ma non so se sia questo che a te interessa.
> 

gia fatto ma non è ciò di cui ho bisogno

> Non sono sicuro, comunque, di aver compreso bene quello che tu voglia 
> fare.
> 
> -- 

diciamo che se self.lista_partite fosse visibile dall'interfaccia 
principale non ci sarebbe nessun problema, mi sa che mi stò incartando 
su una bischerata.

sono due mesi che mi diletto nella programmazione pyhon, e questo è il 
mio secondo programma di un certo spessore, e fino ad ora me la sono 
cavata abbastanza bene...... fino ad ora.

ciao e grazie per l'aiuto

Spartaco.




Maggiori informazioni sulla lista Python