例9-17使用Button组件的command参数实现事件处理,将事件处理 的方法使用bind()方法实现。
时间: 2023-12-03 11:42:39 浏览: 140
以下是使用 Button 组件的 command 参数和 bind() 方法实现事件处理的示例代码:
```python
import tkinter as tk
def on_button_click():
print("Button clicked")
root = tk.Tk()
# 使用 command 参数绑定事件处理方法
button1 = tk.Button(root, text="Click me", command=on_button_click)
button1.pack()
# 使用 bind() 方法绑定事件处理方法
button2 = tk.Button(root, text="Click me too")
button2.pack()
button2.bind("<Button-1>", lambda event: print("Button 2 clicked"))
root.mainloop()
```
在上面的示例中,我们创建了两个 Button 组件。第一个 Button 使用 `command` 参数将事件处理方法 `on_button_click()` 绑定到了 Button 的点击事件上。当用户点击该 Button 时,程序会自动调用 `on_button_click()` 方法。
第二个 Button 则使用 `bind()` 方法将一个匿名函数绑定到了 Button 的 `<Button-1>` 事件上。当用户点击该 Button 时,程序会自动调用该匿名函数,输出一条信息。注意,这里使用了 `lambda` 表达式来创建匿名函数,因为 `bind()` 方法要求传入一个函数对象作为参数。
无论是使用 `command` 参数还是 `bind()` 方法,都可以实现 Button 组件的事件处理。不过需要注意的是,使用 `command` 参数可以直接将方法名作为参数传入,而使用 `bind()` 方法需要手动创建一个函数对象传入。
阅读全文