[Python] Apertura iscrizioni Codemotion Roma 2014

2014-02-07 Per discussione Simone Federici
Se si compra subito entro il quattordici febbraio il prezzo è 12 euro
scontato.



APERTURA ISCRIZIONI ED EARLY BIRD

Da quest'anno anche l'edizione romana avrà un biglietto di ingresso a
pagamento come le altri Codemotion organizzati in Italia e in Europa.
Questo permetterà di far crescere l'evento puntando ancora di più sul
networking internazionale e contenuti elevanti.

La prima Early Bird in scadenza il 14 febbraio permetterà di l'ingresso
della conferenza ad un costo di 20 euro, che usufruendo dello sconto
riservato al *Python Italia* sarà ancora più conveniente.
SCONTO CODEMOTION PER Python Italia

Per i membri di questa community lo sconto riservato è del 40% sul costo
del biglietto in vigore, utilizzando il codice *"pythonitalia"* oppure
accedendo tramite questo link:
https://www.eventbrite.it/e/biglietti-codemotion-rome-2014-conference-10255116329?discount=pythonitalia
 --
*Tsuneo Kurihara*
*Community Relations Manager*
Mail: tsuneo.kurih...@codemotion.it
Mobile: +39 392 6967704 <+393926967704>

 
 Follow us on

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


[Python] gestione checkbutton

2014-02-07 Per discussione Antonino Cardillo
Salve a tutti.
Sto usando in un piccolo programma le pygtk dove ho l'esigenza di creare
dei checkbutton in base ad una lista che leggo da un file e nella creazione
dinamica imposto la label con il testo letto.
Di seguito una parte del codice in cui creo dinamicamente i checkbutton.

  dict_hosts=leggi_file_hosts()
  for host in dict_hosts.keys():#leggo i vari host dal dizionario
   i+=1#incremento il contatore
   self.check=gtk.CheckButton(host)#creo il widget check ed assegno la
label con l'host
   if dict_hosts[host]=='True':
self.check.set_active(True)
   else:
self.check.set_active(False)
   self.check.connect("toggled", self.toggled, "check button %i" % i)
#connetto alla funzione toggled il check
   self.vbox.pack_start(self.check,0,0)#inserisco nel VBox i vari check


Fin qui tutto bene, il mio problema nasce quando voglio eliminare uno di
questi checkbutton come faccio ad identificarli, tipo con un ciclo e
controllo la label, ma non ho trovato in rete.
Se avete suggerimenti anche nel modo di come ho impostato il codice sopra
sono graditi.

-- 
Cordiali saluti.
Antonino Cardillo.
E-mail: antoninocardillo...@gmail.com
Cell. 393-6214016
Skype: antonino73
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] gestione checkbutton

2014-02-07 Per discussione Marco Giusti
On Fri, Feb 07, 2014 at 02:55:25PM +0100, Antonino Cardillo wrote:
> Salve a tutti.
> Sto usando in un piccolo programma le pygtk dove ho l'esigenza di creare
> dei checkbutton in base ad una lista che leggo da un file e nella creazione
> dinamica imposto la label con il testo letto.
> Di seguito una parte del codice in cui creo dinamicamente i checkbutton.
> 
>   dict_hosts=leggi_file_hosts()
>   for host in dict_hosts.keys():#leggo i vari host dal dizionario
>i+=1#incremento il contatore
>self.check=gtk.CheckButton(host)#creo il widget check ed assegno la
> label con l'host
>if dict_hosts[host]=='True':
> self.check.set_active(True)
>else:
> self.check.set_active(False)
>self.check.connect("toggled", self.toggled, "check button %i" % i)
> #connetto alla funzione toggled il check
>self.vbox.pack_start(self.check,0,0)#inserisco nel VBox i vari check
> 
> 
> Fin qui tutto bene, il mio problema nasce quando voglio eliminare uno di
> questi checkbutton come faccio ad identificarli, tipo con un ciclo e
> controllo la label, ma non ho trovato in rete.
> Se avete suggerimenti anche nel modo di come ho impostato il codice sopra
> sono graditi.

Risolvi facilmente principalmente in due modi:

1. VBox eredita da Container e hai ha disposizione il metodo
get_children() che ritorna tutti i figli.

checkbox = filter(lambda w: w.get_label() == LABEL, vbox.get_children())

Volendo puoi associare dei valori arbitrari alla checkbox:


check = gtk.CheckButton(host)
check.set_active(dict_hosts[host] == 'True')
check.set_data(KEY, i)

successimante:

checkbox = filter(lambda w: w.get_data(KEY) == i, vbox.get_children())

1-bis. tieni tu una lista di riferimenti alle checkbox e poi cicli alla
stessa maniera nel caso in cui la vbox contenga moltre altre cose.

2. Invece che una lista creai un dizionario con i riferimenti, molto
ultile in caso di collezioni grosse e con frequenti accessi:

dct[i] = check
...
checkbox = dct[i]


Personalmente se non hai particolari necessità opterei per prima
soluzione, pygtk non gestisce i riferimenti ciclici e quindi eviterei di
avere troppi riferimenti ad widget.

Ed il seguente codice in realtà crea proprio un riferimento ciclico con
un widget:

self.check.connect("toggled", self.toggled, "check button %i" % i)


Piccolo extra, assegnare `self.check` non ha molto senso dentro un
ciclo, non hai bisogno di conservare il riferimento alla checkbox.

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


Re: [Python] gestione checkbutton

2014-02-07 Per discussione Lorenzo Sutton

On 07/02/2014 14:55, Antonino Cardillo wrote:

Salve a tutti.
Sto usando in un piccolo programma le pygtk dove ho l'esigenza di creare
dei checkbutton in base ad una lista che leggo da un file e nella
creazione dinamica imposto la label con il testo letto.


[...]


il mio problema nasce quando voglio eliminare uno di
questi checkbutton come faccio ad identificarli, tipo con un ciclo e
controllo la label, ma non ho trovato in rete.


Io userei un altro dizionario (in maniera simile a come suggerito da 
Marco Giusti)..




   dict_hosts=leggi_file_hosts()


self.cbutton_dict = {}

   for host in dict_hosts.keys():#leggo i vari host dal dizionario
i+=1#incremento il contatore

cb = gtk.CheckButton(host)
self.cbutton_dic['host'] = cb
etc..
... dopo...

self.vbox.remove(self.cbutton_dict['host'])

Lorenzo.

self.check=gtk.CheckButton(host)#creo il widget check ed assegno
la label con l'host
if dict_hosts[host]=='True':
 self.check.set_active(True)
else:
 self.check.set_active(False)
self.check.connect("toggled", self.toggled, "check button %i" % i)
#connetto alla funzione toggled il check
self.vbox.pack_start(self.check,0,0)#inserisco nel VBox i vari check
Fin qui tutto bene,
Se avete suggerimenti anche nel modo di come ho impostato il codice
sopra sono graditi.

--
Cordiali saluti.
Antonino Cardillo.
E-mail: antoninocardillo...@gmail.com 
Cell. 393-6214016
Skype: antonino73


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



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


Re: [Python] gestione checkbutton

2014-02-07 Per discussione Antonino Cardillo
Grazie della risposta in tempi così brevi. Provo i tuoi suggerimenti e
riporterò?


Il giorno 07 febbraio 2014 15:35, Marco Giusti  ha
scritto:

> On Fri, Feb 07, 2014 at 02:55:25PM +0100, Antonino Cardillo wrote:
> > Salve a tutti.
> > Sto usando in un piccolo programma le pygtk dove ho l'esigenza di creare
> > dei checkbutton in base ad una lista che leggo da un file e nella
> creazione
> > dinamica imposto la label con il testo letto.
> > Di seguito una parte del codice in cui creo dinamicamente i checkbutton.
> >
> >   dict_hosts=leggi_file_hosts()
> >   for host in dict_hosts.keys():#leggo i vari host dal dizionario
> >i+=1#incremento il contatore
> >self.check=gtk.CheckButton(host)#creo il widget check ed assegno
> la
> > label con l'host
> >if dict_hosts[host]=='True':
> > self.check.set_active(True)
> >else:
> > self.check.set_active(False)
> >self.check.connect("toggled", self.toggled, "check button %i" % i)
> > #connetto alla funzione toggled il check
> >self.vbox.pack_start(self.check,0,0)#inserisco nel VBox i vari
> check
> >
> >
> > Fin qui tutto bene, il mio problema nasce quando voglio eliminare uno di
> > questi checkbutton come faccio ad identificarli, tipo con un ciclo e
> > controllo la label, ma non ho trovato in rete.
> > Se avete suggerimenti anche nel modo di come ho impostato il codice sopra
> > sono graditi.
>
> Risolvi facilmente principalmente in due modi:
>
> 1. VBox eredita da Container e hai ha disposizione il metodo
> get_children() che ritorna tutti i figli.
>
> checkbox = filter(lambda w: w.get_label() == LABEL,
> vbox.get_children())
>
> Volendo puoi associare dei valori arbitrari alla checkbox:
>
>
> check = gtk.CheckButton(host)
> check.set_active(dict_hosts[host] == 'True')
> check.set_data(KEY, i)
>
> successimante:
>
> checkbox = filter(lambda w: w.get_data(KEY) == i,
> vbox.get_children())
>
> 1-bis. tieni tu una lista di riferimenti alle checkbox e poi cicli alla
> stessa maniera nel caso in cui la vbox contenga moltre altre cose.
>
> 2. Invece che una lista creai un dizionario con i riferimenti, molto
> ultile in caso di collezioni grosse e con frequenti accessi:
>
> dct[i] = check
> ...
> checkbox = dct[i]
>
>
> Personalmente se non hai particolari necessità opterei per prima
> soluzione, pygtk non gestisce i riferimenti ciclici e quindi eviterei di
> avere troppi riferimenti ad widget.
>
> Ed il seguente codice in realtà crea proprio un riferimento ciclico con
> un widget:
>
> self.check.connect("toggled", self.toggled, "check button %i" % i)
>
>
> Piccolo extra, assegnare `self.check` non ha molto senso dentro un
> ciclo, non hai bisogno di conservare il riferimento alla checkbox.
>
> ciao
> m.
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Cordiali saluti.
Antonino Cardillo.
E-mail: antoninocardillo...@gmail.com
Cell. 393-6214016
Skype: antonino73
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python