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

จะจับเหตุการณ์บนวิดเจ็ตลูก Tkinter ได้อย่างไร?


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

ตัวอย่าง

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

# Import the required libraries
from tkinter import *
from tkinter import ttk

# Create an instance of tkinter frame or window
win=Tk()

# Set the size of the window
win.geometry("700x350")

# Create a Listbox widget
lb=Listbox(win)
lb.pack(expand=True, fill=BOTH)

# Define a function to edit the listbox ite
def save():
   for item in lb.curselection():
      print("You have selected "+ str(item+1))

# Add items in the Listbox
lb.insert("end","item1","item2","item3","item4","item5")

# Add a Button To Edit and Delete the Listbox Item
ttk.Button(win, text="Save", command=save).pack()

win.mainloop()

ผลลัพธ์

การรันโค้ดด้านบนจะแสดงหน้าต่างพร้อมรายการไอเท็มในนั้น หากเราคลิกปุ่ม "บันทึก" ระบบจะบอกเราว่าเหตุการณ์ใดถูกจับภาพไว้

จะจับเหตุการณ์บนวิดเจ็ตลูก Tkinter ได้อย่างไร?

ตอนนี้เลือกและรายการจากรายการแล้วคลิกปุ่ม "บันทึก" มันจะพิมพ์บนคอนโซลของรายการที่คุณเลือก

You have selected 3