gtk.comboboxentry
Víctor M. Hernández Rocamora
victor.hr en gmail.com
Dom Ene 23 13:48:36 CET 2005
Aquí tienes un ejemplo con dos ComboBox, te servirá igual para un ComboBoxEntry:
-----------------------------------------------------
#!/usr/bin/env python
# -*- coding: UTF8 -*-
import pygtk
pygtk.require('2.0')
import gtk
def on_combo_changed(widget, data=None):
model = get_active_element(widget)
if model == None: print 'No hay nada seleccionado'
else:
for element in model:
print element
def get_active_element(combo):
model = combo.get_model()
active = combo.get_active()
if active < 0:
return None
return model[active]
def delete_event(widget, event, data=None):
gtk.main_quit()
return gtk.FALSE
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title('combo demo')
window.set_size_request(100,100)
vbox1 = gtk.VBox()
vbox1.show()
window.add(vbox1)
comboList = gtk.ListStore(str)
combo = gtk.ComboBox(comboList)
combo.show()
comboCell = gtk.CellRendererText()
combo.pack_start(comboCell, True)
combo.add_attribute(comboCell, 'text', 0)
vbox1.pack_start(combo, gtk.TRUE, gtk.TRUE, 0)
comboList2 = gtk.ListStore(str, str)
combo2 = gtk.ComboBox(comboList2)
combo2.show()
cell1 = gtk.CellRendererText()
cell2 = gtk.CellRendererText()
combo2.pack_start(cell1, True)
combo2.add_attribute(cell1, 'text', 0)
combo2.pack_start(cell2, True)
combo2.add_attribute(cell2, 'text', 1)
vbox1.pack_start(combo2, gtk.TRUE, gtk.TRUE, 0)
window.show()
lista = ['a','b','c']
lista2 = [['a', '1'],['b', '2'],['c', '3']]
for elem in lista:
# debes poner una lista como atributo, no una cadena!!
# la lista contendrá un elemento para cada columna definida
# en el modelo
comboList.append([elem])
for elem in lista2:
# debes poner una lista como atributo, no una cadena!!
# la lista contendrá un elemento para cada columna definida
# en el modelo
comboList2.append(elem)
combo.connect("changed", on_combo_changed, None)
combo2.connect("changed", on_combo_changed, None)
window.connect("delete_event", delete_event, None)
gtk.main()
-----------------------------------------------------
On Sun, 23 Jan 2005 00:42:21 -0300, Milton inostroza <minoztro en gmail.com> wrote:
> hola lista: saben me he dado de cabezasos con este nuevo objeto del
> pygtk no se como adherirle los elementos, ya que antes utilizaba
> gtk.combo pero ya esta obsoleto, entiendo el concepto que se le debe
> crear un ListStore y todas esas cosas pero el codigo no me funciona,
> si alguien de ustedes tienen algún ejemplo o algun codigo que
> funcione, se lo agradecería mucho me lo enviaran, salu2!!!
> --
> Milton Inostroza Aguilera
> Secretario Academico
> Ingenieria Civil en Computación e Informática
> Organizador
> 6to. Encuentro Nacional de Linux
> Desarrollador de RemuneX (sistema amparado bajo GPL)
> Integrante de GULIqq
> Universidad Arturo Prat
> Iquique - Chile
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
Más información sobre la lista de distribución Python-es