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