按下后如何更改按钮的背景颜色并返回到以前的颜色
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")
但不确定方法是否正确
在下面的程序中,我想在按下按钮后将按钮的背景颜色更改为绿色,更改后的颜色应保持 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")
但不确定方法是否正确