用按钮的回调函数控制另外一个按钮的回调函数
时间: 2023-10-26 21:13:33 浏览: 92
这可以通过在一个按钮的回调函数中修改另一个按钮的回调函数来实现。具体步骤如下:
1. 定义两个按钮及其回调函数
```
import tkinter as tk
def func1():
print("Button 1 is clicked")
def func2():
print("Button 2 is clicked")
root = tk.Tk()
btn1 = tk.Button(root, text="Button 1", command=func1)
btn2 = tk.Button(root, text="Button 2", command=func2)
btn1.pack()
btn2.pack()
root.mainloop()
```
2. 在第一个按钮的回调函数中修改第二个按钮的回调函数
```
import tkinter as tk
def func1():
print("Button 1 is clicked")
btn2.config(command=func3) # 修改第二个按钮的回调函数
def func2():
print("Button 2 is clicked")
def func3():
print("New function is executed")
root = tk.Tk()
btn1 = tk.Button(root, text="Button 1", command=func1)
btn2 = tk.Button(root, text="Button 2", command=func2)
btn1.pack()
btn2.pack()
root.mainloop()
```
3. 测试修改后的按钮回调函数
当点击第一个按钮时,第二个按钮的回调函数被修改为`func3()`,因此当再次点击第二个按钮时,会执行新的回调函数`func3()`。
注意:如果需要在`func3()`中再次修改回第二个按钮的原始回调函数,需要将其保存在一个变量中,在需要时再次修改。
阅读全文