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