我想在我的框架上倒计时,但为了创建计数器,我必须使用文本或标签或其他有背景的小部件,但我只需要在框架上显示数字,所以我想创建另一个窗口在当前帧上,我尝试使用 Toplevel() 和 grab_set 并在几秒钟后销毁帧。但是我在调用 countdown() 和编写定义时遇到了困难。我只想让倒计时数字显示在我的框架上,并且这些数字应该具有透明背景。我被困在调用 countdown() 并根据新框架顶部定义倒计时。在我的代码中,我试图在画布上显示数字
class ExampleApp(Tk):
def __init__(self):
Tk.__init__(self)
self.canvas = Canvas(self, width=2085, height=1080, bg='#020A2E')
self.canvas.pack()
top = Toplevel(self)
top.grab_set()
top.label = Label(self, text="", font='Arial 90 bold', fg='red',bg='black')
top.label.place(x=100,y=100)
top.wm_attributes("-transparentcolor", "black")
top.remaining = 1
self.countdown(3)
top.grab_release()
def countdown(self, remaining = None):
if remaining is not None:
self.remaining = remaining
if self.remaining <= 0:
self.label.configure(text="")
self.label.destroy()
else:
self.top.label.configure(text="%d" % self.remaining)
self.remaining = self.remaining - 1
self.after(1000, self.countdown)