{"id":30,"date":"2007-09-10T23:57:50","date_gmt":"2007-09-10T21:57:50","guid":{"rendered":"http:\/\/blog.rastersoft.com\/index.php\/2007\/09\/10\/seleccion-multiple\/"},"modified":"2015-08-15T18:08:55","modified_gmt":"2015-08-15T18:08:55","slug":"seleccion-multiple","status":"publish","type":"post","link":"https:\/\/blog.rastersoft.com\/?p=30","title":{"rendered":"Selecci\u00f3n multiple"},"content":{"rendered":"<p>En <a href=\"https:\/\/blog.rastersoft.com\/index.php\/2007\/01\/27\/trabajando-con-gtktreeview-en-python\/\" target=\"_blank\">Trabajando con GtkTreeView en Python<\/a> explicaba como utilizar el complejo pero versatil widget <a href=\"http:\/\/www.pygtk.org\/docs\/pygtk\/class-gtktreeview.html\" target=\"_blank\">GtkTreeView<\/a>. Sin embargo, faltaba un detalle importante: \u00bfcomo usar selecci\u00f3n m\u00faltiple?<\/p>\n<p>Lo primero es poner el selector del GtkTreeView en modo de selecci\u00f3n m\u00faltiple:<\/p>\n<div class=\"mycode\">\n<pre class=\"mycode\">treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)<\/pre>\n<\/div>\n<p>Ahora ya podremos marcar m\u00e1s de una fila simult\u00e1neamente usando las teclas May\u00fasculas y Control.<\/p>\n<p>Leer los elementos marcados es tan sencillo como obtener primero el iterador y el arbol:<\/p>\n<div class=\"mycode\">\n<pre class=\"mycode\">tree,iter = self.z88tree.get_selection().get_selected_rows()<\/pre>\n<\/div>\n<p>Si el iterador es None, no hay ninguna fila seleccionada, pero si lo est\u00e1, no tenemos m\u00e1s que recorrer los elementos del iterador para acceder a las filas. Con ellas, podemos usar el m\u00e9todo get_value del arbol para obtener el valor de cada una.<\/p>\n<p>En este ejemplo almacenamos en la lista ret el valor de la columna cero de cada fila seleccionada:<\/p>\n<div class=\"mycode\">\n<pre class=\"mycode\">ret = []\r\nfor item in iter:\r\n    ret.append(tree.get_value(tree.get_iter(item),0))<\/pre>\n<\/div>\n<p>F\u00e1cil, f\u00e1cil, para toda la familia.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En Trabajando con GtkTreeView en Python explicaba como utilizar el complejo pero versatil widget GtkTreeView. Sin embargo, faltaba un detalle importante: \u00bfcomo usar selecci\u00f3n m\u00faltiple? Lo primero es poner el selector del GtkTreeView en modo de selecci\u00f3n m\u00faltiple: treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE) Ahora ya podremos marcar m\u00e1s de una fila simult\u00e1neamente usando las teclas May\u00fasculas y Control. Leer &hellip; <a href=\"https:\/\/blog.rastersoft.com\/?p=30\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Selecci\u00f3n multiple<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,7],"tags":[],"class_list":["post-30","post","type-post","status-publish","format-standard","hentry","category-programacion","category-tutoriales"],"_links":{"self":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/30","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=30"}],"version-history":[{"count":1,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/30\/revisions"}],"predecessor-version":[{"id":1903,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/30\/revisions\/1903"}],"wp:attachment":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}