Python - Cuadro de lista de Tkinter

El widget de cuadro de lista se utiliza para mostrar una lista de elementos entre los que un usuario puede seleccionar varios elementos.

Sintaxis

Aquí está la sintaxis simple para crear este widget:

w = Listbox ( master, option, ... )

Parámetros

  • master - Esto representa la ventana principal.

  • options- Aquí está la lista de opciones más utilizadas para este widget. Estas opciones se pueden utilizar como pares clave-valor separados por comas.

No Señor. Opción y descripción
1

bg

El color de fondo normal que se muestra detrás de la etiqueta y el indicador.

2

bd

El tamaño del borde alrededor del indicador. El valor predeterminado es 2 píxeles.

3

cursor

El cursor que aparece cuando el mouse está sobre el cuadro de lista.

4

font

La fuente utilizada para el texto en el cuadro de lista.

5

fg

El color utilizado para el texto en el cuadro de lista.

6

height

Número de líneas (¡no píxeles!) Que se muestran en el cuadro de lista. El valor predeterminado es 10.

7

highlightcolor

Color que se muestra en el resaltado del foco cuando el widget tiene el foco.

8

highlightthickness

Espesor del resaltado de enfoque.

9

relief

Selecciona efectos de sombreado de bordes tridimensionales. El valor predeterminado es SUNKEN.

10

selectbackground

El color de fondo que se utilizará para mostrar el texto seleccionado.

11

selectmode

Determina cuántos elementos se pueden seleccionar y cómo los arrastres del mouse afectan la selección:

  • BROWSE- Normalmente, solo puede seleccionar una línea de un cuadro de lista. Si hace clic en un elemento y luego lo arrastra a una línea diferente, la selección seguirá al ratón. Este es el predeterminado.
  • SINGLE - Solo puede seleccionar una línea y no puede arrastrar el mouse. Dondequiera que haga clic en el botón 1, esa línea está seleccionada.
  • MULTIPLE- Puede seleccionar cualquier número de líneas a la vez. Al hacer clic en cualquier línea se alterna si está seleccionada o no.
  • EXTENDED - Puede seleccionar cualquier grupo de líneas adyacentes a la vez haciendo clic en la primera línea y arrastrando hasta la última línea.
12

width

El ancho del widget en caracteres. El valor predeterminado es 20.

13

xscrollcommand

Si desea permitir que el usuario se desplace horizontalmente por el cuadro de lista, puede vincular su widget de cuadro de lista a una barra de desplazamiento horizontal.

14

yscrollcommand

Si desea permitir que el usuario se desplace verticalmente por el cuadro de lista, puede vincular su widget de cuadro de lista a una barra de desplazamiento vertical.

Métodos

Los métodos en los objetos de cuadro de lista incluyen:

No Señor. Opción y descripción
1

activate ( index )

Selecciona la línea especificada por el índice dado.

2

curselection()

Devuelve una tupla que contiene los números de línea del elemento o elementos seleccionados, contando desde 0. Si no se selecciona nada, devuelve una tupla vacía.

3

delete ( first, last=None )

Elimina las líneas cuyos índices están en el rango [primero, último]. Si se omite el segundo argumento, se elimina la línea única con el índice primero.

4

get ( first, last=None )

Devuelve una tupla que contiene el texto de las líneas con índices del primero al último, inclusive. Si se omite el segundo argumento, devuelve el texto de la línea más cercana al primero.

5

index ( i )

Si es posible, coloca la parte visible del cuadro de lista de modo que la línea que contiene el índice i esté en la parte superior del widget.

6

insert ( index, *elements )

Inserte una o más líneas nuevas en el cuadro de lista antes de la línea especificada por índice. Utilice END como primer argumento si desea agregar nuevas líneas al final del cuadro de lista.

7

nearest ( y )

Devuelve el índice de la línea visible más cercana a la coordenada y y relativa al widget de cuadro de lista.

8

see ( index )

Ajuste la posición del cuadro de lista para que la línea a la que hace referencia el índice sea visible.

9

size()

Devuelve el número de líneas del cuadro de lista.

10

xview()

Para hacer que el cuadro de lista se pueda desplazar horizontalmente, establezca la opción de comando de la barra de desplazamiento horizontal asociada a este método.

11

xview_moveto ( fraction )

Desplácese por el cuadro de lista para que la fracción más a la izquierda del ancho de su línea más larga quede fuera del lado izquierdo del cuadro de lista. La fracción está en el rango [0,1].

12

xview_scroll ( number, what )

Desplaza el cuadro de lista horizontalmente. Para el argumento qué, use UNITS para desplazarse por caracteres, o PAGES para desplazarse por páginas, es decir, por el ancho del cuadro de lista. El argumento del número indica cuántos desplazar.

13

yview()

Para hacer que el cuadro de lista se pueda desplazar verticalmente, establezca la opción de comando de la barra de desplazamiento vertical asociada a este método.

14

yview_moveto ( fraction )

Desplácese por el cuadro de lista para que la fracción superior del ancho de su línea más larga quede fuera del lado izquierdo del cuadro de lista. La fracción está en el rango [0,1].

15

yview_scroll ( number, what )

Desplaza el cuadro de lista verticalmente. Para el argumento qué, use UNITS para desplazarse por líneas o PAGES para desplazarse por páginas, es decir, por la altura del cuadro de lista. El argumento del número indica cuántos desplazar.

Ejemplo

Pruebe el siguiente ejemplo usted mismo:

from Tkinter import *
import tkMessageBox
import Tkinter

top = Tk()

Lb1 = Listbox(top)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")

Lb1.pack()
top.mainloop()

Cuando se ejecuta el código anterior, produce el siguiente resultado: