Вы находитесь на странице: 1из 6

16.2.1.

Controles ComboBox
El control ComboBox sustituye el obsoleto OptionMenu con un control potente que
utiliza un TreeModel (generalmente un ListStore) que proporciona los elementos
de la lista que se mostrarn. El ComboBox implementa la interfaz CellLayout, que
proporcina diversos mtodos para gestionar la visualizacin de los elementos de
la lista. Uno o ms methods for managing the display of the list items. One or
more CellRenderers se pueden empaquetar en un ComboBox para personalizar la
visualizacin de los elementos de la lista.
16.2.1.1. Uso Bsico de ComboBox

La forma sencilla de crear y poblar un ComboBox es utilizar la funcin auxiliar:


combobox = gtk.combo_box_new_text()

Esta funcin crea una ComboBox y su almacn ListStore asociado y lo empaqueta


con un CellRendererText. Los siguientes mtodos auxiliares se usan para poblar
o eliminar los contenidos de la ComboBox y su ListStore:
combobox.append_text(text)
combobox.append_text(text)
combobox.insert_text(position, text)
combobox.remove_text(position)

donde text es la cadena que se aadir a la ComboBox y position es el ndice


donde se insertar o eliminar el texto text. En la mayora de los casos las
funciones y mtodos auxiliares es todo lo que se necesitar.
El programa de ejemplo comboboxbasic.py demuestra el uso de las anteriores
funciones y mtodos. Figura 16.5, ComboBox Bsica ilustra el programa en
ejecucin:
Figura 16.5. ComboBox Bsica

Para obtener el texto activo se puede usar el mtodo:


texto = combobox.get_active_text()

Sin embargo, hasta la versin 2.6 no se proporciona en GTK+ un mtodo cmodo


para obtener el texto activo. Para ello se podra usar una implementacin similar
a:
def get_active_text(combobox):
model = combobox.get_model()
active = combobox.get_active()
if active < 0:
return None
return model[active][0]

El ndice del elemento activo se obtiene a travs del mtodo:


active = combobox.get_active()

El elemento activo se puede establecer con el mtodo:


combobox.set_active(index)

donde index es un entero mayor que -2. Si index es -1 no hay elemento activo y
el control ComboBox estar en blanco. Si index es menor que -1, la llamada ser
ignorada. Si index es mayor que -1 el elemento de la lista con dicho ndice ser
mostrado.
Se puede conectar a la seal "changed" de un ComboBox para recibir notificacin
del cambio del elemento activo. La signatura del manejador de "changed" es:
def changed_cb(combobox, ...):

donde ... representa cero o ms argumentos pasados al


mtodo GObject.connect().
16.2.1.2. Uso Avanzado de ComboBox

La creacin de una lista ComboBox mediante la funcin gtk.combo_box_new_text()


es aproximadamente equivalente al siguiente cdigo:
liststore = gtk.ListStore(str)
combobox = gtk.ComboBox(liststore)
cell = gtk.CellRendererText()
combobox.pack_start(cell, True)
combobox.add_attribute(cell, 'text', 0)

Para sacar partido de la potencia de las variadas clases de


objetos TreeModel y CellRenderer es necesario construir una ComboBox utilizando
el constructor:
combobox = gtk.ComboBox(model=None)

donde model es un modelo TreeModel. Si se crea una lista ComboBox sin asociarle
un TreeModel es posible aadirlo a posteriori utilizando el mtodo:
combobox.set_model(model)

Se puede obtener el TreeModel asociado con el mtodo:


model = combobox.get_model()

Algunas de las cosas que se pueden hacer con una ComboBox son:
Compartir el mismo TreeModel con otras ComboBoxes y TreeViews.
Mostrar imgenes y texto en los elementos de la ComboBox.
Utilizar un TreeStore o ListStore existente como modelo para los
elementos de la lista de la ComboBox.
Utilizar un TreeModelSort para disponer de una lista de ComboBox ordenada.
Utilizar un TreeModelFilter para usar un subrbol de un TreeStore como
fuente de elementos de la lista de la ComboBox.

Usar un TreeModelFilter para utilizar un subconjunto de las filas de


un TreeStore o ListStore como elementos de la lista de la ComboBox.
Utilizar una funcin de datos de celda para modificar o sintetizar la
visualizacin de los elementos de la lista.
El uso de los objetos TreeModel y CellRenderer se detalla en el captulo de
Controles de Vista de rbol.
Los elementos de la lista de la ComboBox se pueden mostrar en una tabla si se tiene
un gran nmero de elementos que visualizar. En otro caso, la lista tendr flechas
de desplazamiento si la lista no puede ser mostrada en su totalidad. El siguiente
mtodo se usa para determinar el nmero de columnas que se mostrarn:
combobox.set_wrap_width(width)

En informtica, una casilla de verificacin, check box, checkbox, tickbox o tick box es un
elemento de interaccin de la interfaz grfica de usuario (widget) del Sistema Operativo con el
usuario, que permite a ste hacer selecciones mltiples de un conjunto de opciones.

Descripcin[editar]
Consta de una casilla que permite presentar hasta tres estados distintos: marcado,
desmarcado e indeterminado. El estado marcado se muestra a travs de una palomita, el
desmarcado con el cuadro en blanco y el indeterminado con un cuadro dentro del cuadro
blanco que es el control. Algunas ocasiones el programador de la aplicacin determina que el
control slo permita dos estados: marcado y desmarcado.
La marca implica la aceptacin de la opcin que va enlazado a ella, y por consiguiente, la falta
de marca implica la negacin de la afirmacin. El estado indeterminado regresa una respuesta
en nulo.
Normalmente, los checkbox son mostrados en la pantalla como una caja cuadrada que puede
contener un espacio en blanco (para deseleccionar) o una marca de chequeo o una X (para
seleccionar) una opcin independientemente de las otras. Junto al checkbox normalmente se
muestra un texto descriptivo del significado de la opcin. Invertir el estado de un checkbox se
realiza haciendo clic con el ratn sobre la caja o su texto asociado, o usando un atajo de
teclado.

Botn de opcin

El botn de opcin, o botn de radio, permite seleccionar una de un conjunto de opciones, excluyendo
todas las dems.

Un botn de opcin o botn de radio (a veces llamado incorrectamente botn radial) es


un tipo de widget de interfaz grfica de usuario que permite al usuario elegir una de un
conjunto predefinido de opciones. Los botones de opcin se arreglan en grupos de dos o ms
y se muestran en la pantalla como, por ejemplo, una lista de agujeros circulares que pueden
contener un espacio blanco (para la opcin de no seleccionado) o un punto (para la opcin
de seleccionado). Adyacente a cada botn de opcin normalmente se muestra un texto que
describe la opcin que representa el botn de opcin. Cuando el usuario selecciona un botn
de opcin, cualquier botn de opcin previamente seleccionado en el mismo grupo queda
deseleccionado. Un botn de opcin se selecciona dando clic sobre la opcin o sobre el texto,
o bien usando un atajo de teclado.
Los botones de opcin (botones de radio) se llaman as en referencia a los botones fsicos que
se usan en los radios para seleccionar estaciones preajustadas - cuando se presionaba uno
de los botones, otro de los botones saltaba.
Es posible que, inicialmente, ninguno de los botones de opcin en un grupo est
seleccionado. Este estado no puede restaurarse interactuando con el widget del botn de
opcin (pero es posible a travs de otros elementos de la interfaz de usuario).

Un aspecto interesante de los botones de opcin, cuando se utilizan en un formulario


web en HTML, es que si no se marca ningn botn en un grupo, entonces no se pasa ningn
par nombre-valor cuando se enva el formulario. Por ejemplo, para un grupo de botones de
opcin llamado Sexo, con las opciones de Masculino y Femenino, la variable Sexo no pasara,
ni siquiera con un valor en blanco.

Вам также может понравиться