【发布时间】:2016-08-27 00:29:39
【问题描述】:
我正在使用 Tkinter 在 Python 中开发 Simon 游戏,但在使用按钮命令时遇到问题。
对于游戏,按钮的活动背景必须在单击时从正常颜色变为另一种颜色,然后返回正常颜色,并且我必须能够重复该动作以无限次点击。
必要的代码是:
import Tkinter
base = Tkinter.Tk()
fr = Tkinter.Frame(base, bg="black", width="238", height="238")
def yellowClick():
yellow.configure(activebackground="yellow3")
yellow = Tkinter.Button(base, bd="0", highlightthickness="0",
width="7", height="5", activebackground="yellow",
bg="yellow3", command = yellowClick)
yellow.place(x = 30, y = 30)
fr.pack()
base.mainloop()
这里的yellowClick()函数中的实际代码使按钮的activebackground正确地将颜色变为黄色3,但我不知道如何在3秒后将其返回为黄色,然后能够重复动作无限次点击。
我用这种方式尝试了 time.sleep():
def yellowClick():
yellow.configure(activebackground="yellow3")
time.sleep(3)
yellow.configure(activebackground="yellow")
但它只会使按钮变为黄色并持续 3 秒。不要变成黄色3,而是等待 3 秒,然后返回黄色。
欢迎任何帮助。
【问题讨论】: