Python tkinter grid_忘记()

Python tkinter grid_忘记(),python,python-2.7,tkinter,Python,Python 2.7,Tkinter,我想使一个标签出现和消失,但我有一个网格的问题,你忘记。这是代码的一部分: def creabackuno(): showinfo( "Wait..","I am creating the backup, please wait...") vsl=Label(gui,text="Working, please wait...",font=("arial",16)).grid(row=20,rowspan=1,column=0,columnspan=1,padx=10,sticky

我想使一个标签出现和消失,但我有一个网格的问题,你忘记。这是代码的一部分:

def creabackuno():
    showinfo( "Wait..","I am creating the backup, please wait...")
    vsl=Label(gui,text="Working, please wait...",font=("arial",16)).grid(row=20,rowspan=1,column=0,columnspan=1,padx=10,sticky=N)
    try:
        copytree(path,r"backup\dirbackup1\.minecraft")
        showinfo( "OK!","Backup (1) created!")
        vsl.grid_forget()
    except OSError:
        showerror( "Nope!","There is already a backup to restore")
        vsl.grid_forget()
这是控制台的错误:

AttributeError: 'NoneType' object has no attribute 'grid_forget'
您当前的vsl等于Label的grid方法的返回值。此外,此方法始终返回None,因此,错误中的NoneType。使您的代码如下所示:

vsl=Label(gui,text="Working, please wait...",font=("arial",16))
vsl.grid(row=20,rowspan=1,column=0,columnspan=1,padx=10,sticky=N)
现在vsl指向标签,而不是grid方法的返回值,它是None。

您当前的vsl等于label的grid方法的返回值。此外,此方法始终返回None,因此,错误中的NoneType。使您的代码如下所示:

vsl=Label(gui,text="Working, please wait...",font=("arial",16))
vsl.grid(row=20,rowspan=1,column=0,columnspan=1,padx=10,sticky=N)

现在vsl指向标签,而不是grid方法的返回值,它是None。

哦,我的天啊,谢谢你,这让我发疯了。我在过去想了太多jQuery之类的东西,我只是不想问chaining.grid是否会返回项目,标签/按钮/等的创建和网格化没有错误,所以我无法理解为什么我不能销毁它。哦,我的天啊,谢谢你,这让我发疯了。我在过去想了太多jQuery之类的东西,我只是不想问chaining.grid是否会返回项目,标签/按钮/等被创建并网格化,没有错误,所以我无法理解为什么我不能销毁它。