Scrollbar
Este widget añade barras de desplazamiento a otros widgets que puedan necesitarlas, como Lisbox
, Canvas
, Text
o Entry
.
Su constructor es
Scrollbar(master=None, cnf={}, **kw)
Sus métodos propios
activate(index=None)
delta(deltax, deltay)
fraction(x, y)
get()
identify(x, y)
set(first, last)
Para que un Scrollbar
interactúe con otro widget se ha de establecer la conexión en ambos sentidos. Al comando de scroll del widget se asocia el método set
de la barra de desplazamiento, y al comando de la barra de desplazamiento se asocia la vista correspondiente del widget.
Ejemplo
Para añadir la barra de desplazamiento vertical a un cuadro de edición de texto se asigna la opción yscrollcommand al método set de la barra de desplazamiento y se configura la barra de desplazamiento con el comando yview del cuadro de edición.
scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT, fill=Y)
texto = Text(master, yscrollcommand=scrollbar.set)
texto.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=texto.yview)
Ejercicio
En Autohiding Scrollbars hay un ejemplo de cómo crear una clase basada en Scrollbar
, sobreescribir tres de sus métodos y usarla en una aplicación con el widget Canvas
, impleméntalo asociado a un widget Text
.