Un widget en tkinter, que se usa para ingresar una pantalla de una sola línea de texto, se llama widget de entrada. ¿Ha creado un widget de entrada en tkinter que contiene mucha información? ¿Hay mucho texto que le causa problemas para moverlo a cualquier otra posición en él? No te preocupes, tenemos una solución a este problema. Lo que debe hacer es configurar un botón que, al hacer clic, lo llevará a la ubicación deseada en el widget de entrada.
Pasos necesarios:
Paso 1: primero, importa la biblioteca tkinter.
from tkinter import *
Paso 2: Ahora, crea una aplicación GUI usando tkinter.
app = Tk()
Paso 3: luego, crea una función con un argumento como Ninguno para mover el cursor donde quieras en el widget de entrada.
def shift_cursor(event=None): position = entry_label.index(INSERT) entry_label.icursor(#Specify the position \ where you want to move the cursor)
Paso 4: A continuación, cree y muestre un widget de entrada en el que desee cambiar la posición.
entry_label=Entry(app) entry_label.grid(column=#Specify the column value, row=#Specify the row value, padx=#Specify the padding value of x, pady=#Specify the padding value of y)
Paso 5: una vez que se declara un widget de entrada, establezca el enfoque en el widget de entrada especificado.
entry_label.focus()
Paso 6: Además, cree y muestre un botón que, al hacer clic, cambiará la posición del cursor en el widget de entrada.
button1 = Button(app, text="#Text you want to display in button", command=shift_cursor) button1.grid(column=#Specify the column value, row=#Specify the row value, padx=#Specify the padding value of x, pady=#Specify the padding value of y)
Paso 7: Finalmente, haz un bucle infinito para mostrar la aplicación en la pantalla.
app.mainloop()
Ejemplo:
En este programa, cambiaremos la posición del cursor un carácter a la izquierda haciendo clic en el botón ‘ Desplazar cursor a la izquierda ‘ mientras cambiamos la posición del cursor un carácter a la derecha haciendo clic en el botón ‘ Desplazar cursor a la derecha ‘.
Python
# Python program to change position # of cursor in Entry widget # Import the library tkinter from tkinter import * # Create a GUI app app = Tk() # Create a function to move cursor one character # left def shift_cursor1(event=None): position = entry_label.index(INSERT) # Changing position of cursor one character left entry_label.icursor(position - 1) # Create a function to move the cursor one character # right def shift_cursor2(event=None): position = entry_label.index(INSERT) # Changing position of cursor one character right entry_label.icursor(position + 1) # Create and display the button to shift cursor left button1 = Button(app, text="Shift cursor left", command=shift_cursor1) button1.grid(row=1, column=1, padx=10, pady=10) # Create and display the button to shift the cursor right button2 = Button(app, text="Shift cursor right", command=shift_cursor2) button2.grid(row=1, column=0, padx=10, pady=10) # Create and display the textbox entry_label = Entry(app) entry_label.grid(row=0, column=0, padx=10, pady=10) # Set the focus in the textbox entry_label.focus() # Make the infinite loop for displaying the app app.mainloop()
Producción: