Python: barra de desplazamiento de Tkinter
Este widget proporciona un controlador deslizante que se utiliza para implementar widgets de desplazamiento vertical, como Listbox, Text y Canvas. Tenga en cuenta que también puede crear barras de desplazamiento horizontales en los widgets de entrada.
Sintaxis
Aquí está la sintaxis simple para crear este widget:
w = Scrollbar ( 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 | activebackground El color del control deslizante y las puntas de flecha cuando el mouse está sobre ellos. |
2 | bg El color del control deslizante y las puntas de flecha cuando el mouse no está sobre ellos. |
3 | bd El ancho de los bordes 3-d alrededor de todo el perímetro del canal, y también el ancho de los efectos 3-d en las puntas de flecha y el control deslizante. El valor predeterminado es sin borde alrededor del canal y un borde de 2 píxeles alrededor de las puntas de flecha y el control deslizante. |
4 | command Un procedimiento que se llamará siempre que se mueva la barra de desplazamiento. |
5 | cursor El cursor que aparece cuando el mouse está sobre la barra de desplazamiento. |
6 | elementborderwidth El ancho de los bordes alrededor de las puntas de flecha y el control deslizante. El valor predeterminado es elementborderwidth = -1, lo que significa usar el valor de la opción borderwidth. |
7 | highlightbackground El color del resaltado del foco cuando la barra de desplazamiento no tiene foco. |
8 | highlightcolor El color del resaltado del foco cuando la barra de desplazamiento tiene el foco. |
9 | highlightthickness El grosor del resaltado de enfoque. El valor predeterminado es 1. Configure en 0 para suprimir la visualización del resaltado de enfoque. |
10 | jump Esta opción controla lo que sucede cuando un usuario arrastra el control deslizante. Normalmente (salto = 0), cada pequeño arrastre del control deslizante hace que se llame al comando callback. Si establece esta opción en 1, la devolución de llamada no se llama hasta que el usuario suelta el botón del mouse. |
11 | orient Establezca orient = HORIZONTAL para una barra de desplazamiento horizontal, orient = VERTICAL para una vertical. |
12 | repeatdelay Esta opción controla cuánto tiempo se debe mantener presionado el botón 1 en el canal antes de que el control deslizante comience a moverse en esa dirección repetidamente. El valor predeterminado es repeatdelay = 300 y las unidades son milisegundos. |
13 | repeatinterval Intervalo de repetición |
14 | takefocus Normalmente, puede tabular el foco a través de un widget de barra de desplazamiento. Establezca takefocus = 0 si no desea este comportamiento. |
15 | troughcolor El color del comedero. |
dieciséis | width Ancho de la barra de desplazamiento (su dimensión y si es horizontal y su dimensión x si es vertical). El valor predeterminado es 16. |
Métodos
Los objetos de la barra de desplazamiento tienen estos métodos:
No Señor. | Método y descripción |
---|---|
1 | get() Devuelve dos números (a, b) que describen la posición actual del control deslizante. El valor a da la posición del borde izquierdo o superior del control deslizante, para las barras de desplazamiento horizontal y vertical respectivamente; el valor b da la posición del borde derecho o inferior. |
2 | set ( first, last ) Para conectar una barra de desplazamiento a otro widget w, configure el comando xscrollcommand o yscrollcommand de w en el método set () de la barra de desplazamiento. Los argumentos tienen el mismo significado que los valores devueltos por el método get (). |
Ejemplo
Pruebe el siguiente ejemplo usted mismo:
from Tkinter import *
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill = Y )
mylist = Listbox(root, yscrollcommand = scrollbar.set )
for line in range(100):
mylist.insert(END, "This is line number " + str(line))
mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )
mainloop()
Cuando se ejecuta el código anterior, produce el siguiente resultado: