gpt4 book ai didi

Python西蒙游戏: I Cannot Make the Command of the Button Work the Way I Need

转载 作者:行者123 更新时间:2023-12-01 03:44:24 26 4
gpt4 key购买 nike

我正在使用 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正确地将颜色更改为yellow3,但我不知道如何在3秒后将其返回到黄色,然后能够重复该操作无限量的点击。

我以这种方式尝试使用 time.sleep() :

def yellowClick():

yellow.configure(activebackground="yellow3")

time.sleep(3)

yellow.configure(activebackground="yellow")

但它只会使按钮变黄并持续 3 秒。不要变黄3,而是等待 3 秒,然后返回黄色。

欢迎任何帮助。

最佳答案

but I don't know how to return it after 3 seconds to yellow,

Tkinter 小部件有一个名为 after 的方法正是用于此类事情。如果您想在三秒钟内将其更改为不同的颜色,您可以这样做:

 yellow.configure(activebackground="yellow3")
yellow.after(3000, lambda: yellow.configure(activebackground="yellow"))

这将创建一个匿名函数,该函数将在未来运行大约三秒(3000 毫秒)。

关于Python西蒙游戏: I Cannot Make the Command of the Button Work the Way I Need,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39170407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com