如何捕捉Tkinter子小部件上的事件?
假设我们正在创建一个与用户点击应用程序中可见的按钮交互的应用程序。为了准确了解事件是如何工作的,我们必须创建一个回调函数以及一个将执行事件的触发器。每当用户单击按钮时,事件会发生,并且需要在屏幕上捕获它。
例子
在这个例子中,我们将创建一个Listbox小部件,其中将有一个项目列表。当我们选择项目时,将捕获用户点击的内容。为了弄清楚捕获到的事件,我们可以使用 print() 函数在屏幕上打印出来。
# 导入所需的库
from tkinter import *
from tkinter import ttk
# 创建一个实例Tkinter窗口
win=Tk()
# 设置窗口的大小
win.geometry("700x350")
# 创建一个Listbox小部件
lb=Listbox(win)
lb.pack(expand=True, fill=BOTH)
# 定义一个函数来编辑列表框项
def save():
for item in lb.curselection():
print("您选择了第 "+ str(item+1) + " 项")
# 向Listbox中添加项目
lb.insert("end","item1","item2","item3","item4","item5")
# 添加一个按钮来编辑和删除Listbox项
ttk.Button(win, text="保存", command=save).pack()
win.mainloop()
输出
执行上面的代码将显示一个具有项目列表的窗口。如果我们单击“保存”按钮,它将告诉我们已捕获的事件。
现在,从列表中选择一个项目,然后单击“保存”按钮。它将在控制台上打印出您选择的项目。
您选择了第 3 项