Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: p4nd4criss en 9 Agosto 2012, 22:11 pm



Título: [PYTHON] obtener celda activada de un treeview pygtk
Publicado por: p4nd4criss en 9 Agosto 2012, 22:11 pm
hola a todos tengo un prolemita un poco noob

usando pygtk agregue a una venta, un treeview de una sola columna
este muestra una EXTENSA lista de opciones.
con el evento "cursor-changed" detecto cuando se le da click a una celda o se cambia de opción con las teclas.
mi problema es que  no encuentro como saber cual celda esta seleccionada
el << event.get_active() >> no funciona

algún método k me devuelva un entero con el numero de orden de la calda seleccionada?
o con el texto contenido en la celda?
en java o hacia con  "jList1.getSelectedIndex()" k devuelve un entero k es la posición de la celda seleccionada

tengo otra duda: como la lista de opciones es tan extensa tengo una barra de desplazamiento para poder ver las demás opciones.
quiero que el programa sugiera una opción haciendo la celda visible y poniéndola resaltada
como hago para asegurarme k una cierta celda es visible, como la pongo dentro del área visible
y k este seleccionada
en java eso lo hacia con <<  "jList1.ensureIndexIsVisible(i);"   " jList1.setSelectedIndex(i);"  >> donde "i" es el numero entero de la celda

esta es la parte del codigo del treeview
Código:

def DibujarLista(self):
        model = gtk.ListStore(str)
        for item in MILISTA:
            model.append([item])
        return model

        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.scroll2 = gtk.ScrolledWindow()
        self.scroll2.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
        self.model = self.DibujarLista()
        self.treeView = gtk.TreeView(self.model)
        self.treeView.connect("cursor-changed",self.ListEvento)
        self.cellRenderer = gtk.CellRendererText()
        self.column = gtk.TreeViewColumn("opciones", self.cellRenderer, text=0)
        self.treeView.append_column(self.column)
        self.scroll2.add(self.treeView)
        window.add(self.scroll2)


cualquier sugerencia o dato seria de ayuda