[pyar] Campos duplicados en GtkComboBox con Glade+Python
Carlos Joel Delgado Pizarro
carlosj2585 en gmail.com
Mar Mayo 10 17:16:12 ART 2011
Hola a todos.
Estoy diseñando un pequeño sistema usando Glade+Python, todo va bien, solo
que al momento de entrar a un formulario que contiene 2 GtkComboBox, tengo
problemas al llenar los datos de uno de los GtkComboBox, uno sirve para
seleccionar provincias y el otro para seleccionar distritos, el cual cambia
de contenido, de acuerdo a la provincia seleccionada.
Ya busqué en Google, por ahí encontré que hay que limpiar el contenido del
modelo (que es del tipo gtk.ListStore) con el que se llena el segundo
GtkComboBox usando el metodo clear(), ya lo probé y no funciona (estuve
leyendo en DevHelp también).
También encontré[1] que Glade genera un atributo: <property name="items"
translatable="yes"></property> en el XML del formulario, pero no lo encontré
en el archivo Glade que estoy usando, así que tampoco puedo corregir el
problema.
Adjunto el código que llena el combo de Distritos cuando se cambie de
Provincia, y unos cuantos pantallazos[2].
def on_cboProvincia_changed(self, widget):
# -- Llenar el combo de distritos, obtener el id de la provincia
seleccionada
id_prov =
self.cboProvincia.get_model()[self.cboProvincia.get_active()][0]
print 'Se cambió a la provincia: ' + str(id_prov)
# self.cboDistrito.get_model().clear()
# -- Llenar el combo de distritos, de acuerdo a la provincia
seleccionada
self.llenar_distritos(id_prov)
pass
def llenar_distritos(self, id_prov):
# -- Recuperarla lista de distritos de la provincia elegida
distritos = self.fx.listar_distritos(id_prov)
print id_prov,
print distritos
#limpiar el combo
modelo = gtk.ListStore(str) # Crear un ListStore para llenar el
combo
modelo.clear()
# -- Llenar el ListStore con los distritos obtenidos
for dist in distritos:
modelo.append([dist[1]])
# -- Mostrar el contenido del combo
self.cboDistrito.set_model(modelo)
cell = gtk.CellRendererText()
self.cboDistrito.pack_start(cell)
self.cboDistrito.add_attribute(cell, 'text', 0)
# -- Seleccionar el primer elemento del combo
self.cboDistrito.set_active(0)
pass
[1] http://www.mail-archive.com/pygtk@daa.com.au/msg15537.html
[2]
https://picasaweb.google.com/carlosj2585/PythonGlade?authkey=Gv1sRgCN2xjq_Pl8GllgE&feat=directlink
Saludos!
————————————————–
Carlos Joel Delgado Pizarro
http://carlosj2585.wordpress.com
http://pycj.wordpress.com (Python!)
PLUG - Peruvian Linux Users Group http://www.linux.org.pe
Mosoq Kallpa – Linux Users Group http://www.mosoqkallpa.org/
Linux User Registered # 460895
Ubuntu User Registered # 28720
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110510/0ae759a6/attachment.html>
More information about the pyar
mailing list