Python Tkinter: widget de texto desplazado

Tkinter es una biblioteca Python estándar incorporada. Con la ayuda de Tkinter, se pueden crear fácilmente muchas aplicaciones GUI. Hay varios tipos de widgets disponibles en Tkinter, como botón, marco, etiqueta, menú, texto desplazado, lienzo y muchos más. Un widget es un elemento que proporciona varios controles. El widget ScrolledText es un widget de texto con una barra de desplazamiento. El módulo tkinter.scrolledtextproporciona el widget de texto junto con una barra de desplazamiento. Este widget ayuda al usuario a ingresar varias líneas de texto con comodidad. En lugar de agregar una barra de desplazamiento a un widget de texto, podemos utilizar un widget de texto desplazado que ayuda a ingresar cualquier número de líneas de texto.

Ejemplo 1: código de Python que muestra el widget ScrolledText.

# Python program demonstrating
# ScrolledText widget in tkinter
  
import tkinter as tk
from tkinter import ttk
from tkinter import scrolledtext
  
# Creating tkinter main window
win = tk.Tk()
win.title("ScrolledText Widget")
  
# Title Label
ttk.Label(win, 
          text = "ScrolledText Widget Example",
          font = ("Times New Roman", 15), 
          background = 'green', 
          foreground = "white").grid(column = 0,
                                     row = 0)
  
# Creating scrolled text 
# area widget
text_area = scrolledtext.ScrolledText(win, 
                                      wrap = tk.WORD, 
                                      width = 40, 
                                      height = 10, 
                                      font = ("Times New Roman",
                                              15))
  
text_area.grid(column = 0, pady = 10, padx = 10)
  
# Placing cursor in the text area
text_area.focus()
win.mainloop()

Producción :
Scrolledtext widget

Ejemplo 2: el widget ScrolledText hace que el texto tkinter sea de solo lectura.

# Importing required modules
  
import tkinter as tk
import tkinter.scrolledtext as st
  
# Creating tkinter window
win = tk.Tk()
win.title("ScrolledText Widget")
  
# Title Label
tk.Label(win, 
         text = "ScrolledText Widget Example", 
         font = ("Times New Roman", 15), 
         background = 'green', 
         foreground = "white").grid(column = 0,
                                    row = 0)
  
# Creating scrolled text area
# widget with Read only by
# disabling the state
text_area = st.ScrolledText(win,
                            width = 30, 
                            height = 8, 
                            font = ("Times New Roman",
                                    15))
  
text_area.grid(column = 0, pady = 10, padx = 10)
  
# Inserting Text which is read only
text_area.insert(tk.INSERT,
"""\
This is a scrolledtext widget to make tkinter text read only.
Hi
Geeks !!!
Geeks !!!
Geeks !!! 
Geeks !!!
Geeks !!!
Geeks !!!
Geeks !!!
""")
  
# Making the text read only
text_area.configure(state ='disabled')
win.mainloop()

Producción :
scrolledtext_widget

En el primer ejemplo, como puede ver el cursor, el usuario puede ingresar cualquier número de líneas de texto. En el segundo ejemplo, el usuario solo puede leer el texto que se muestra en el cuadro de texto y no puede editar/ingresar ninguna línea de texto. Podemos observar que la barra de desplazamiento desaparece automáticamente si el texto ingresado por el usuario es menor que el tamaño del widget.

Publicación traducida automáticamente

Artículo escrito por greeshmanalla 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 *