如何在tkinter中销毁一个类在另一个类上的标签?

问题描述 投票:0回答:1
from tkinter import *
master = Tk()
master.title("Add Questions")
master.geometry("800x600")
master.geometry("+275+70")
master.configure(bg="#D3D3D3")


class timer:
    def __init__(self,root):
        self.root=root
        self.text = ""
        self.second=10
        self.l = Label(root,font=("Calibri (Body)",30),bg="#D3D3D3",fg="#333300")
        self.l.place(relx=0.9,rely=0.05,anchor=CENTER)

    def update(self):
        if self.second>0:
            m,s=divmod(self.second,60)
            self.text=str(m).zfill(2)+":"+str(s).zfill(2)
            self.l.configure(text=self.text)
            self.second=self.second-1
            self.l.after(1000,self.update)
        else:
            self.l.configure(text="Time off!",fg="red",font=("Calibri (Body)",70))
            self.l.place_configure(relx=0.5,rely=0.5,anchor=CENTER)
            self.l.after(1000,lambda: questions(master))


class questions:
    def __init__(self,root):

a=timer(master)
a.update()

master.mainloop()

这是我的代码...类计时器:用于倒计时。在课堂问题中:我想销毁课堂计时器:的self.l标签。但是我不知道如何在self.l中使用class questions属性。我该怎么办?

python oop tkinter label destroy
1个回答
0
投票

您可以使用.destroy()方法。

这会使所有小部件消失,您不能再次使用它。

因此,在您的示例中,这将是self.l.destroy()

对于您的班级,您可以让第二个班级继承第一个班级。

为此,请像这样更新您的class

class questions(timer):

这将是您的计时器类:

class timer(Object):

阅读class inheritance in python

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.