【问题标题】:Python tkinter grid_forget()Python tkinter grid_forget()
【发布时间】:2013-09-30 15:28:38
【问题描述】:

我想让标签出现和消失,但grid_forget() 出现问题。这是代码的一部分:

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'

【问题讨论】:

    标签: python python-2.7 tkinter


    【解决方案1】:

    您当前拥有的vsl 等于Labelgrid 方法的返回值。此外,此方法始终返回 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 之类的东西,我只是没想过要问链接 .grid() 是否会返回该项目,并且 Label/Button/etc 正在被创建和网格化而没有错误,所以我不能弄清楚为什么我不能摧毁它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 2014-04-12
    相关资源
    最近更新 更多