Forum >> Programmazione Python >> GUI >> VISUALIZZAZIONE DI UNA INTERA RIGA SQL SULLA GUI

Pagina: 1

Salve a tutti, volevo esporre un problema la cui soluzione potrebbe interessare a molti, sono sicuro che qualcuno nel forum con più esperienza rispetto a me sa come risolverlo, confido in voi :)




Dopo avere creato un database sono riuscito ad estrapolare i dati di esso ed eseguirli con python nella shell di IDLE, grazie a questa semplice query e il seguente Button:





def read_movimenti_from_db():

c.execute('SELECT * FROM Movimento')

for row in c.fetchall():

print(row)






button=Button(f1,text="Visualizza tutti i movimenti",command=read_movimenti_from_db,bg="white")

button.grid(row=0,column=0,sticky=N)





Il problema però è che io avrei preferito visualizzare il risultato della query nell'interfaccia grafica così ho provato a creare uno spazio bianco nella GUI per visualizzare il suddetto risultato e ho utilizzato il seguente codice:




def nellospazio():

spazio_bianco.insert(END,read_movimenti_from_db)







Tutti_i_movimenti=Button(f1,text="Tutti i movimenti", command=nellospazio, bg="white")

Tutti_i_movimenti.grid(row=1,column=0)




spazio_bianco=Text(ft2,widt=59,height=22,bd=8,bg="white")

spazio_bianco.grid(row=1,column=0)







Ho provato anche con lambda:read_movimenti_from_db ma mi visualizza nello spazio bianco questa stringa:

<function read_movimenti_from_db at 0x0043A5D0>



Da quanto ho capito bisogna usare get e non insert per visualizzare caratteri complessi sulla text, solo che continua a visualizzarmi tutto sul promt e non sulla GUI.


Ok ci sono degli sviluppi, in questo modo riesco ad ottenere sulla GUI il risultato della query ma parzialmente, mi visualizza infatti solo una riga (Una entità):



query=StringVar()
def read_movimenti_from_db(self):
    c.execute('SELECT * FROM Movimento')
    for row in c.fetchall():
      global query
      query=row
      print(query)
      spazio_bianco.delete(0.0,END)
      spazio_bianco.insert(END,row)
Tutti_i_movimenti=Button(f1a,text="Visualizza tutti i movimenti",padx=26,pady=1,bd=4,width=18,command= lambda:read_movimenti_from_db(query),bg="white")
Tutti_i_movimenti.grid(row=1,column=0)

Ok niente ci sono riuscito, ho tolto "spazio_bianco.delete(0.0,END)" e ora funziona a meraviglia, scusate il soliloquio :')


Pagina: 1



Esegui il login per scrivere una risposta.