Profilo di lrndnl

Nome lrndnl
Indirizzo email n/a
Messaggi26
  • Re: Ancora rubrica
    Forum >> Principianti
    niente non mi ci raccapezzo..
    non capisco come integrare il codice.
    Ho fatto varie prove ma mi dice che la lista è n oggetto di tipo "None" e posso farci il sugo ;(
  • Re: Ancora rubrica
    Forum >> Principianti
    Grazie ,provo subito !!
  • Ancora rubrica
    Forum >> Principianti
    Ancora io,
    for contatti in dati :     
            riga+=1
            Fnome=str(daticont1)
            Label(FinestraCancella, text=Fnome).grid(row=riga ,column =1)
            Checkbutton(FinestraCancella,text="",variable=var,onvalue="1", offvalue="0").grid(row=riga ,column =0)
            Fcognome=str(daticont2)
            Label(FinestraCancella, text=Fcognome).grid(row=riga,column=3)
            Ftelefono=str(daticont3)
            Label(FinestraCancella, text=Ftelefono).grid(row=riga ,column=5)
            Findirizzo=str(daticont4)
            Label(FinestraCancella, text=Findirizzo).grid(row=riga, column=7)
            Fmail=str(daticont5)
            Label(FinestraCancella, text=Fmail).grid(row=riga, column=9)
            cont+=1

    con questo for prendo l'elenco di tutto quello che ho nel db e ci metto vicino una checkbox.
    Il risultato è in allegato.

    Quello che vorrei fare adesso è cancellare i contatti spuntati come posso ricavare le checkbox attive ?
    Vorrei che premendo il bottone mi dia l'elenco di tutti gli id checkati (poi vedo come andare a cancellare) in una lista o in una tupla...

    Come posso fare ???


    --- Ultima modifica di lrndnl in data 2016-04-27 16:15:47 ---

    --- Ultima modifica di lrndnl in data 2016-04-27 16:17:14 ---

    --- Ultima modifica di lrndnl in data 2016-04-27 16:18:03 ---

    --- Ultima modifica di lrndnl in data 2016-04-27 16:18:22 ---
  • Tkinter allineamento e tktable
    Forum >> Programmazione Python >> GUI
    Buongiorno,
    def finestracerca(self,dati):
        self.a = len(dati)
        self.FinestraCerca=Tk()
        self.FinestraCerca.geometry("500x500")
        self.FinestraCerca.title("Contatti trovati")
        if self.a == 1:
            etic=Label(self.FinestraCerca, text="Ho trovato 1 contatto!!",fg="red",bg="yellow",font=("Helvetica",12))
            etic.grid(row=0,sticky=N)
        elif self.a==0:
            etic=Label(self.FinestraCerca, text="Non ho trovato contatti",font=("Helvetica",12),fg="red",bg="yellow")
            etic.grid(row=0,sticky=N)
        else:
            etic=Label(self.FinestraCerca, text="Ho trovato " +str(self.a)+ " contatti!!",font=("Helvetica",12),fg="red",bg="yellow")    
            etic.grid(row=0,sticky=N)  
    
        Label(self.FinestraCerca, text="Nome").grid(row=20,column =1, sticky=S)
        Label(self.FinestraCerca, text="Cognome",).grid(row=20,column=5 ,sticky=S)
        Label(self.FinestraCerca, text="Indirizzo").grid(row=20,column=10, sticky=S)
        Label(self.FinestraCerca, text="Telefono").grid(row=20, column=15, sticky=S)
        Label(self.FinestraCerca, text="Mail").grid(row=20, column=20, sticky=S)
        Label(self.FinestraCerca, text="Codice Fiscale").grid(row=20, column=25, sticky=S)
        
        self.cont = 0
        
        self.riga=30
        for contatti in dati :
            
            self.riga+=1
            self.Fnome=str(dati[self.cont]1)
            Label(self.FinestraCerca, text=self.Fnome).grid(row=self.riga ,column =1, sticky=W)
            self.Fcognome=str(dati[self.cont]2)
            Label(self.FinestraCerca, text=self.Fcognome).grid(row=self.riga,column=6, sticky=W)
            self.Ftelefono=str(dati[self.cont]3)
            Label(self.FinestraCerca, text=self.Ftelefono).grid(row=self.riga ,column=11, sticky=W)
            self.Findirizzo=str(dati[self.cont]4)
            Label(self.FinestraCerca, text=self.Findirizzo).grid(row=self.riga, column=16, sticky=W)
            self.Fmail=str(dati[self.cont]5)
            Label(self.FinestraCerca, text=self.Fmail).grid(row=self.riga, column=21, sticky=W)
            self.cont+=1                             
    
    

    ho questo pezzo di codice che mi dovrebbe, data una tupla , Scrivere sopra il numero di contatti trovati (a mò di titolo) e sotto i risultati ma non riesco ad allineare tutto (sto provando ad installare tktable ma non so come ,altri metodi ?)

    Il risultato è questo :


    help..


  • Re: Moduli
    Forum >> Principianti
    Risolto il ciclo (mancava l'incremento di self.riga ,in pratica sovrascriveva le righe :angry:)
    Nessuno sa nulla di tk table ?

    Grazie.
  • Re: Moduli
    Forum >> Principianti
    Ok modificato e lavorato un pò sul codice.
    1)Non riesco a capire come installare tktable (vorrei riportare i dati in una tabella per ora lo ho fatto con le LAbel non sapendo come altro fare,ogni suggerimento è bene accetto)

    2)Ho questo pezzo di codice .

       self.cont = 0
        self.a = len(dati)
        self.riga=10
        for contatti in dati :
            
            self.Fnome=str(dati[self.cont]1)
            Label(self.FinestraCerca, text=self.Fnome).grid(row=self.riga ,column =1)
            self.Fcognome=str(dati[self.cont]2)
            Label(self.FinestraCerca, text=self.Fcognome).grid(row=self.riga,column=6)
            self.Ftelefono=str(dati[self.cont]3)
            Label(self.FinestraCerca, text=self.Ftelefono).grid(row=self.riga ,column=11)
            self.Findirizzo=str(dati[self.cont]4)
            Label(self.FinestraCerca, text=self.Findirizzo).grid(row=self.riga, column=16)
            self.Fmail=str(dati[self.cont]5)
            Label(self.FinestraCerca, text=self.Fmail).grid(row=self.riga, column=21)
            self.cont+=1                     
            print self.cont
    Mi spiegate che sbaglio ????
    Dati è la seguete tupla formata da tuple:
    ((4, 'james', 'pallotta', '333', 'strada terni', '[email protected]'), (5, 'daniele', 'pallotta', '534534', 'piazza la bomba e scappa', '[email protected]'))
    non capisco perchè non riesco ad accedere a tutti gli elementi ma solo a 1
    in teoria
    self.Fnome=str(dati[self.cont]1)


    mi dovrebbe accedere la prima volta all'elemento 0 della tupla dati e di questa prendere l'elemento 1 ,il nome l'id non mi interessa,
    poi finito tutto portare cont a 1(effettivamente lo fa printandolo) e quindi prendere l'elemento 1 della tupla ,quindi la seconda tupla-figlia e diquesta prendere l'elemento 1 ma non lo fa..


    --- Ultima modifica di lrndnl in data 2016-04-26 22:42:10 ---

    --- Ultima modifica di lrndnl in data 2016-04-26 22:47:02 ---

    --- Ultima modifica di lrndnl in data 2016-04-26 22:47:22 ---

    --- Ultima modifica di lrndnl in data 2016-04-26 22:48:25 ---
  • Moduli
    Forum >> Principianti
    Scusate ho molta confusione (parliamo di windows) su come installare nuovi moduli in python.
    Dovrei installare tktable ma non lo trovo ;( .

    Ho cercato su internet ma ne sanno meno di me pare..

    A parte i consigli "butta windows" che capisco ma non mi sono utili vorrei capire dove scaricare i moduli.

    A quanto ricordo poi devo solo scaricarli nella cartella packages
  • Re: Rubrica telefonica
    Forum >> Principianti
    Ho risolto !!!
    mettendo cont = 0 all'interno del ciclo lo azzeravo sempre e quindi mi prendeva sempre l'elemento 0 !!!
    messo fuoir dal ciclo va!
  • Re: Rubrica telefonica
    Forum >> Principianti
    Ciao ho riscritto tutto da capo.

    Ho un problemino

    Questa funzione è legata ad un bottone che cerca nel DB mysql contatti con quel nomeo cognome:

    def cerca():
    dict={}
    DBnome=e1.get()
    DBcognome=e2.get()
    cursore = connessione.cursor()
    cursore.execute("select * FROM nomi where nome='%s' or cognome ='%s'" %(DBnome,DBcognome))
    dati = cursore.fetchall()
    a = len(dati)
    print dati

    if a == 1:
    print "Ho trovato 1 contatto"
    elif a==0:
    print "Non ho trovato contatti."
    else:
    print "Ho trovato " + str(a) + " contatti !!"
    numcontatti= a-1
    for contatto in range(0,a):
    cont = 0
    print "ID = " +str(daticont0),
    print "\t Nome = " + str(daticont1),
    print "\t Cognome = " + str(daticont2),
    print "\t Telefono = " + str(daticont3)
    print "\t Indirizzo = " + str(daticont4),
    print "\t Mail = " + str(daticont5)
    cont+=1

    Si connete al DB cerca conta correttamente il numero di record e mi ritorna una tupla di tuple con i risultati :

    ((3, 'daniele', 'x', '3453453', 'via cia ociao', '[email protected]'), (5, 'daniele', 'pallotta', '534534', 'piazza la bomba e scappa', '[email protected]'))

    La struttura del DB è ID NOME COGNOME TELEFONO INDIRIZZO MAIL.
    Ora io qui ciclo la tupla per ritornare i dati :

    for contatto in range(1,a):
    cont = 0
    print "ID = " +str(daticont0),
    print "\t Nome = " + str(daticont1),
    print "\t Cognome = " + str(daticont2),
    print "\t Telefono = " + str(daticont3)
    print "\t Indirizzo = " + str(daticont4),
    print "\t Mail = " + str(daticont5)
    cont+=1

    ma mi torna 2 volte lo stesso contatto !!!

    ID = 3 Nome = daniele Cognome = x Telefono = 3453453
    Indirizzo = via cia ociao Mail = [email protected]

    ID = 3 Nome = daniele Cognome = x Telefono = 3453453
    Indirizzo = via cia ociao Mail = [email protected]


    perchè ??
    la mia idea era di partire dall'elemento 0 della tupla(cont) e prenderne a sua volta l'elemento 0 (ID) e andare avanti.
    ora dovrebbe rientrare nel ciclo (a = 2) prendere l'elemento 1 della tupla (quindi la secondatupla "figlia") e riscrivere i dati ma in realtà riscrive lo stesso contatto.

    forse è meglio usare while?

    Grazie come sempre !!
  • Re: Rubrica telefonica
    Forum >> Principianti
    Voglio aggiungere altri link per Tkinter :

    http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/entry.html

    http://www.webalice.it/srosta/tkinter005.html#Componenti%20della%20GUI1

    spero ti possa essere utile




    --- Ultima modifica di Orsogrizzly in data 2016-04-21 15:03:06 ---
    Grazie mille !!
    Tutto mi è utile...