Marcos desplazables en Tkinter

Una barra de desplazamiento es un widget que es útil para desplazar el texto en otro widget. Por ejemplo, el texto en Texto, Marco de lienzo o Cuadro de lista se puede desplazar de arriba a abajo o de izquierda a derecha usando las barras de desplazamiento. Hay dos tipos de barras de desplazamiento. Son horizontales y verticales. La barra de desplazamiento horizontal es útil para ver el texto de izquierda a derecha. La barra de desplazamiento vertical es útil para desplazar el texto de arriba a abajo.
Ahora veamos cómo podemos crear una barra de desplazamiento. Para crear una barra de desplazamiento, tenemos que crear un objeto de clase de barra de desplazamiento como: 

h = Scrollbar(root, orient='horizontal')

Aquí h representa el objeto de la barra de desplazamiento que se crea como un elemento secundario de la ventana raíz. Aquí orientación indica horizontal para barra de desplazamiento horizontal y vertical indica barras de desplazamiento verticales. De manera similar, para crear una barra de desplazamiento vertical, podemos escribir: 

v = Scrollbar(root, orient='vertical')

Al adjuntar la barra de desplazamiento a un widget como cuadro de texto, cuadro de lista, etc., debemos agregar un comando xview para la barra de desplazamiento horizontal y yview para la barra de desplazamiento vertical. 

h.config(command=t.xview) #for horizontal scrollbar
v.config(command=t.yview) #for vertical scrollbar

Ahora veamos el código para adjuntar una barra de desplazamiento vertical y horizontal a un widget de texto. 

Python3

# Python Program to make a scrollable frame
# using Tkinter
  
from tkinter import *
  
class ScrollBar:
     
    # constructor
    def __init__(self):
         
        # create root window
        root = Tk()
  
        # create a horizontal scrollbar by
        # setting orient to horizontal
        h = Scrollbar(root, orient = 'horizontal')
  
        # attach Scrollbar to root window at
        # the bootom
        h.pack(side = BOTTOM, fill = X)
  
        # create a vertical scrollbar-no need
        # to write orient as it is by
        # default vertical
        v = Scrollbar(root)
  
        # attach Scrollbar to root window on
        # the side
        v.pack(side = RIGHT, fill = Y)
          
  
        # create a Text widget with 15 chars
        # width and 15 lines height
        # here xscrollcomannd is used to attach Text
        # widget to the horizontal scrollbar
        # here yscrollcomannd is used to attach Text
        # widget to the vertical scrollbar
        t = Text(root, width = 15, height = 15, wrap = NONE,
                 xscrollcommand = h.set,
                 yscrollcommand = v.set)
  
        # insert some text into the text widget
        for i in range(20):
            t.insert(END,"this is some text\n")
  
        # attach Text widget to root window at top
        t.pack(side=TOP, fill=X)
  
        # here command represents the method to
        # be executed xview is executed on
        # object 't' Here t may represent any
        # widget
        h.config(command=t.xview)
  
        # here command represents the method to
        # be executed yview is executed on
        # object 't' Here t may represent any
        # widget
        v.config(command=t.yview)
  
        # the root window handles the mouse
        # click event
        root.mainloop()
 
# create an object to Scrollbar class
s = ScrollBar()
        

Producción:

Publicación traducida automáticamente

Artículo escrito por srishtirajani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *