Ho 2 problemi con Glade e GtkTreeView. Eseguendo il Prg mi si apre correttamente la finsestra fatta con Glade e si popola di dati presi da un DB. Adesso ho la necessità di sapere su quale record ho cliccato con il mouse, quindi ho aggiunto in 'Signals' del Widget 'GtkTreeView' row_activated l'evento 'on_ElencoImpianti_row_activated' ma non so (e non ho trovato niente in rete) come passare questi parametri a ' def SelezioneImpianto(*args):'
Secondo problema devo ordinare i dati che visualizzo. Ho utilizzato: model.set_sort_column_id (col1, gtk.SORT_ASCENDING) se al posto di 'col1' metto 'col2' o 'col3' o 'col4' mi ordina in base ai campi. Il mio problema è ordinare i campi dalla finestra( Bottone o altra soluzione). Ho letto che è possibile ordinare i dati cliccando sull'intestazione della colonna, ma non so proprio come mettelo in pratica. Ringrazio chi possa aiutarmi Ciao * def finestra(): ApplicazioneGlade = gtk.glade.XML("C:\TelesisSw\window.glade") EventiGlade ={"on_FinestraPrincipale_delete_event":gtk.main_quit, "on_ElencoImpianti_row_activated":SelezioneImpianto, } ApplicazioneGlade.signal_autoconnect(EventiGlade) elencoimpianti = ApplicazioneGlade.get_widget('ElencoImpianti') elencoimpianti.get_selection().set_mode(gtk.SELECTION_SINGLE) model = gtk.ListStore(str, str, str, str) col1,col2,col3,col4 = range(4) s = odbc.odbc(DataBase) # mi collego al DSN cur = s.cursor() cur.execute("select NomeImpianto ,CodiceImpianto, NomeSW, TipoCentrale from Impianti where Gestione = '"+gestione+"'") dati = cur.fetchall() for dato in dati: var1=str(dato[0]) var2=str(dato[1]) var3=str(dato[2]) var4=str(dato[3]) record = model.append([var1,var2,var3,var4]) cur.close() elencoimpianti.set_model(model) cell = gtk.CellRendererText() column1 = gtk.TreeViewColumn(" - Nome Impianto - ", cell, text = col1) column1.set_resizable (True) elencoimpianti.append_column (column1) column2 = gtk.TreeViewColumn(" - Codice Impianto - ", cell, text = col2) column2.set_resizable (True) elencoimpianti.append_column (column2) column3 = gtk.TreeViewColumn("Personalizzatore", cell, text = col3) column3.set_resizable (True) elencoimpianti.append_column (column3) column4 = gtk.TreeViewColumn("Centrale", cell, text = col4) column4.set_resizable (True) elencoimpianti.append_column (column4) model.set_sort_column_id (col1, gtk.SORT_ASCENDING) gtk.main() def SelezioneImpianto(*args): print 'Hai cliccato su '+' ' +NomeImpianto+' ' +CodiceImpianto+' ' +NomeSW+' ' +TipoCentrale _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python