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

Rispondere a