如何捕获 Tkinter 子小部件上的事件?

tkinterpythongui-programming更新于 2025/7/18 22:36:17

假设我们正在创建一个应用程序,该应用程序与用户单击应用程序中可见的按钮进行交互。要了解事件的具体工作原理,我们必须创建一个回调函数以及一个将执行事件的触发器。每当用户单击按钮时,事件就会发生,并且需要在屏幕上捕获它。

示例

在此示例中,我们将创建一个 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))

# 在列表框中添加项目
lb.insert("end","item1","item2","item3","item4","item5")

# 添加按钮以编辑和删除列表框项目
ttk.Button(win, text="Save", command=save).pack()

win.mainloop()

输出

执行上述代码将显示一个窗口,其中包含项目列表。如果我们单击"保存"按钮,它会告诉我们捕获了什么事件。

现在,从列表中选择一个项目,然后单击"保存"按钮。它会在控制台上打印您选择的项目。

您已选择 3

相关文章


有用资源