你需要在函数中传递按钮 `b` 的引用,这样你就可以在按下按钮时禁用它。可以通过将按钮作为参数传递给函数来实现这个效果。以下是修正后的代码:
from tkinter import *
def disable_button(button):
button.config(state="disable")
def create_buttons(root, labels):
for label in labels:
b = Button(root, text=label, command=lambda btn=b: disable_button(btn))
b.pack()
root = Tk()
button_labels = ["苹果", "香蕉"]
create_buttons(root, button_labels)
root.mainloop()
关键修改在于 `disable_button(button)` 函数中,直接传入按钮的引用,然后在 `create_buttons` 函数中,通过 `lambda btn=b: disable_button(btn)` 将当前按钮传递给函数。这样,当你按下按钮时,它会被禁用。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |