如何动态改变一个command不为改变该按钮属性函数的tk按钮
时间: 2024-05-15 12:14:11 浏览: 54
button.zip_按钮图片改变
可以通过 `command` 参数传递一个 lambda 函数,来实现动态改变按钮的响应函数。 lambda 函数可以根据需要调用任意函数或方法。
例如,以下代码创建了一个按钮,初始时点击按钮会弹出一个对话框,点击“确定”后会调用 `on_button_click` 函数。但是点击“修改命令”按钮后,按钮的响应函数会改变为调用 `on_new_button_click` 函数。
```python
import tkinter as tk
from tkinter import messagebox
def on_button_click():
messagebox.showinfo("Title", "Hello World")
def on_new_button_click():
messagebox.showinfo("Title", "New Function")
def change_button_command():
button.config(command=lambda: on_new_button_click())
root = tk.Tk()
button = tk.Button(root, text="Click Me", command=lambda: on_button_click())
button.pack()
change_command_button = tk.Button(root, text="Change Command", command=change_button_command)
change_command_button.pack()
root.mainloop()
```
阅读全文