Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะผูกปุ่มตัวเลขทั้งหมดใน Tkinter ได้อย่างไร?


ขณะพัฒนาแอปพลิเคชัน Tkinter เรามักพบกรณีที่เราต้องดำเนินการหรือเหตุการณ์เฉพาะบางอย่างด้วยการกดแป้น (บนแป้นพิมพ์) Tkinter จัดให้มีกลไกในการจัดการกับเหตุการณ์ดังกล่าว

คุณสามารถใช้ bind(, โทรกลับ) ฟังก์ชันสำหรับแต่ละวิดเจ็ตที่คุณต้องการผูกเพื่อดำเนินการบางประเภทของเหตุการณ์ เมื่อใดก็ตามที่เราผูกคีย์กับเหตุการณ์ เหตุการณ์การโทรกลับจะเกิดขึ้นทุกครั้งที่มีการกดปุ่มที่เกี่ยวข้อง

ตัวอย่าง

ลองพิจารณาตัวอย่าง การใช้ฟังก์ชัน bind("", การเรียกกลับ) เรายังสามารถผูกปุ่มตัวเลขทั้งหมดเพื่อแสดงข้อความบนหน้าจอ โดยที่เมื่อใดก็ตามที่ผู้ใช้กดปุ่ม (1-9) ข้อความจะปรากฏขึ้นบนหน้าจอ

# Import required libraries
from tkinter import *

# Create an instance of tkinter window
win = Tk()
win.geometry("700x300")

# Function to display a message whenever a key is pressed
def add_label(e):
   Label(win, text="You have pressed: " + e.char, font='Arial 16 bold').pack()

# Create a label widget
label=Label(win, text="Press any key in the range 0-9")
label.pack(pady=20)
label.config(font='Courier 18 bold')

# Bind all the number keys with the callback function
for i in range(10):
   win.bind(str(i), add_label)

win.mainloop()

ผลลัพธ์

การเรียกใช้ข้อมูลโค้ดด้านบนจะแสดงหน้าต่างพร้อมวิดเจ็ตป้ายกำกับ

จะผูกปุ่มตัวเลขทั้งหมดใน Tkinter ได้อย่างไร?

เมื่อใดก็ตามที่คุณกดปุ่มในช่วง (0-9) ระบบจะแสดงข้อความบนหน้าจอ

จะผูกปุ่มตัวเลขทั้งหมดใน Tkinter ได้อย่างไร?