Python,Tkinter,销毁图像的函数。(多个参数)

2024-10-05 11:01:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Tkinter做了一个程序,基本上我想删除所有放在窗口上的图像。作为我创建的函数(或尝试:P)负责清除窗口,我需要它能够从程序的任何点删除我想要的任何东西。在

这个窗口有两个图像,img和img1。5000秒后?(另一件事我不确定,但还没有看过那一点)计时器将用完并导致函数。不过,我似乎把函数格式化错误了。在

如您所见,我尝试使用(*A),但这似乎只是用于打印的字符串,并且不识别.destroy()。我尝试的另一个功能是:

def removewidgets(A)(B)(C)(D):
    A.destroy()
    B.destroy()
    C.destroy()
    D.destroy()
    return; 

但我相信这是一个可怕的方法,它没有任何工作,哈。 真希望有人能解决我的问题,谢谢!在

这是密码。在

^{pr2}$

Tags: 方法函数字符串图像程序功能imgreturn
1条回答
网友
1楼 · 发布于 2024-10-05 11:01:18

首先,当你计算你的变量时,你应该使用其他的东西,在这个例子中,一个列表,所以你只需要把一个列表传递给函数。在函数中,可以循环处理序列项并为每个项调用destroy。如果您为GUI创建一个类,这会更容易。在

问题是你在参数中调用函数removewidgets。由于调用了所有可调用参数并使用了它们的返回值,因此调用事件None。 请改用此构造:

img.after(5000, lambda: removewidgets(img, img1))

lambda创建一个匿名函数,因此使用函数对象作为参数。在

你不需要输入return;,顺便说一句。如果没有指定return,函数将返回None。在

相关问题 更多 >

    热门问题