只是想知道是否有办法使该功能可以影响多个小部件。我想要发生的是,当我单击按钮时,它会使用该函数从红色变为绿色;
def colour_change():
self.configure(bg="green")
button1 = Tk.Button(self, bg="red")
button1.pack()
button2 = Tk.Button(self, bg="red)
button2.pack()
例如,当您按下按钮 1 时,它应该从红色变为绿色。与按钮 2 相同。我知道我可以使用单独的功能来完成此操作,但是我是否可以在同一个功能中完成此操作?
最佳答案
不知何故,你的函数需要识别哪个小部件调用了它;一种方法是传递引用该小部件的参数。在以下示例中,调用命令时将传递包含小部件的列表的索引:
import tkinter as tk
def colour_change(which_button):
if buttons[which_button]['fg'] == 'red':
buttons[which_button].configure(fg="blue")
else:
buttons[which_button].configure(fg="red")
root = tk.Tk()
button1 = tk.Button(root, text='button 1', fg="red", command=lambda: colour_change(0))
button1.pack()
button2 = tk.Button(root, text='button 2', fg="red", command=lambda: colour_change(1))
button2.pack()
buttons = [button1, button2]
root.mainloop()
关于python - 制作一个可以被多个按钮使用的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52250125/