En este artículo, veremos cómo dejar de retroceder, copiar y pegar en el widget de texto en Tkinter .
Para deshabilitar copiar, pegar y retroceder en Tkinter un widget de texto, debe vincular el evento con un controlador de eventos, el enlace nos ayuda a crear aplicaciones GUI complejas que vinculan alguna tecla específica a las funciones, que se ejecutan cuando esa tecla es presionado.
Implementación paso a paso:
Paso 1: en primer lugar, importa la biblioteca Tkinter.
from tkinter import *
Paso 2: Ahora, crea una aplicación GUI usando Tkinter
app=Tk()
Paso 3: A continuación, dale dimensiones a la aplicación.
app.geometry("# Dimensions of the app")
Paso 4: Además, cree y muestre el widget de texto para la aplicación GUI.
text=Text(app, font="#Font-Style, #Font-Size") text.pack(fill= BOTH, expand= True)
Paso 5: Además, vincule la tecla de pegar para que el usuario no pueda copiar nada cuando presiona Control-V juntos.
text.bind('<Control-v>', lambda _:'break')
Paso 6: Más tarde, vincule la tecla de copia para que el usuario no pueda copiar nada cuando seleccione y presione Control-C juntos.
text.bind('<Control-c>', lambda _:'break')
Paso 7: luego, vincule la tecla de retroceso para que el usuario no pueda regresar y borrar nada cuando presione el botón de retroceso.
text.bind('<BackSpace>', lambda _:'break')
Paso 8: Finalmente, haz un bucle infinito para mostrar la aplicación en la pantalla.
app.mainloop()
Ejemplo:
Python3
# Python program to stop, copy, and backspace # in a text widget in Tkinter # Import the library tkinter from tkinter import * # Create a GUI widget app=Tk() # Set the geometry of the app app.geometry("700x350") # Create and display text field widget text=Text(app, font="Calibri, 14") text.pack(fill= BOTH, expand= True) # Bind the paste key with the event handler text.bind('<Control-v>', lambda _:'break') # Bind the copy key with the event handler text.bind('<Control-c>', lambda _:'break') # Bind the backspace key with the event handler text.bind('<BackSpace>', lambda _:'break') # Make infinite loop for displaying app # on the screen app.mainloop()
Producción: