按下后如何更改按钮的背景颜色并返回到以前的颜色

how to change bg color of button after pressing and get back to previous color

在下面的程序中,我想在按下按钮后将按钮的背景颜色更改为绿色,更改后的颜色应保持 2 秒,然后再变回原始颜色。有办法吗?

import tkinter as tk
class MyGui(tk.Tk):
    def __init__(self):
        super(MyGui, self).__init__()
        self.create_widgets()

    def widget_button(self):
        self.frame = tk.Frame(self)
        self.frame.pack()
        self.buttonA = tk.Button(self.frame, padx=13, pady=6, bd=4, text="Sample",bg="black", command=self.trial)

    def trial(self):
        print("Button color is changed to green")

if __name__ == "__main__":
    root = MyGui()
    root.mainloop()

在程序中默认颜色是黑色现在我想在按下后变成绿色2秒

您可以使用 after 方法将函数安排到 运行 在预定义的时间后。您可以使用 configure 方法更改小部件选项。把这两个放在一起,你就会得到这样的东西:

def trial(self):
    self.buttonA.configure(background="green")
    self.after(2000, lambda: self.buttonA.configure(background="black")

如果我输入如下代码,它工作正常:

def trial(self):
    self.buttonA.configure(background="green")
    self.after(10, lambda: self.buttonA.configure(background="black")
    self.after(2000, lambda: self.buttonA.configure(background="green")

但不确定方法是否正确