Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để nắm bắt các sự kiện trên các widget con Tkinter?

Giả sử chúng ta đang tạo một ứng dụng tương tác với việc người dùng nhấp vào Nút hiển thị trong ứng dụng. Để hiểu chính xác cách các sự kiện hoạt động, chúng ta phải tạo một hàm gọi lại cũng như một trình kích hoạt sẽ thực thi một sự kiện. Bất cứ khi nào người dùng nhấp vào nút, sự kiện sẽ xảy ra và sự kiện đó cần được ghi lại trên màn hình.

Ví dụ

Trong ví dụ này, chúng tôi sẽ tạo một tiện ích Listbox sẽ có một danh sách các mục trong đó. Khi chúng tôi chọn một mục, sau đó nó sẽ ghi lại những gì người dùng đã nhấp vào. Để tìm ra sự kiện đã chụp, chúng tôi có thể sử dụng print () chức năng in trên màn hình.

# 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()

Đầu ra

Thực hiện đoạn mã trên sẽ hiển thị một cửa sổ với danh sách các mục trong đó. Nếu chúng tôi nhấp vào nút "Lưu", nó sẽ cho chúng tôi biết sự kiện nào đã được ghi lại.

Làm thế nào để nắm bắt các sự kiện trên các widget con Tkinter?

Bây giờ, chọn và mục từ danh sách và nhấp vào nút "Lưu". Nó sẽ in trên bảng điều khiển mục bạn đã chọn.

You have selected 3