¿Cómo vincular todas las teclas numéricas en Tkinter?

En este artículo, discutiremos cómo vincular todas las teclas numéricas en Tkinter . Key Binding lo ayuda a crear aplicaciones GUI complejas en las que vincula algunas teclas específicas a funciones, que se ejecutan cuando se presiona esa tecla.

Sintaxis:

def pulsar_tecla(a):

  Label(app, text=”Ha presionado: ” + a.char, font=’#Text-Font #Text-Size bold’).pack()

para i en el rango (10):

  app.bind(str(i), tecla_presionar)

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, asigne un título y dimensiones a la aplicación.

app.title(“#Title you want to assign to app”)
app.geometry("#Dimensions of the app")

Paso 4: Además, cree una función para mostrar un mensaje cada vez que un usuario presione la tecla 0-9.

def key_press(a):
 Label(app, text="You have pressed: " + a.char,
  font='#Text-Font #Text-Size bold').pack()

Paso 5: Además, cree un widget de etiqueta para mostrar texto en la aplicación y mostrarlo.

label=Label(app, text="Press any key in the range 0-9")
label.pack(padx=#x-axis padding, pady=#y-axis padding)
label.config(font='#Text-Font #Text-Size bold')

Paso 6: Más tarde, vincule todas las teclas numéricas, es decir, 0-9 con la función de devolución de llamada.

for i in range(10):
  app.bind(str(i), key_press)

Paso 7: Finalmente, haz un bucle infinito para mostrar la aplicación en la pantalla.

app.mainloop()

Ejemplo:

Python3

# Python program to bind all
# the number keys in Tkinter
  
# Import the library Tkinter
from tkinter import *
  
# Create a GUI app
app = Tk()
  
# Set the title and geometry of the app
app.title('Bind Number Keys')
app.geometry("800x400")
  
# Make a function to display a message
# whenever user presses 0-9 key
def key_press(a):
    Label(app, text="You pressed: " + a.char, 
          font='Helvetica 18 bold').pack()
  
# Create a label widget to display the text
label = Label(app, text="Press any key in between range 0-9")
label.pack(pady=25)
label.config(font='Arial 20 bold')
  
# Bind all the number keys with the callback function
for i in range(10):
    app.bind(str(i), key_press)
  
# Make infinite loop for displaying app on the screen
app.mainloop()

Producción:

 

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 *