Cambiar la posición del cursor en el widget de entrada de Tkinter

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:

shift cursor python tkinter

Publicación traducida automáticamente

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