Python Tkinter中iconify()和draw()的区别

Python Tkinter中iconify()和draw()的区别,python,tkinter,Python,Tkinter,就Tkinter的iconify()和draw()方法的差异而言,我一直在搜索,但没有找到答案 iconify()似乎将窗口“转换”为任务栏图标,并具有“图标”状态 draw()似乎只是将窗口从屏幕上移除,之后窗口的状态为“撤回” 如果需要扭转这种情况,只需在这两种情况下调用deiconify() 然而,这两种方法之间的真正区别是什么?它们之间的本质区别是什么? 此外,它们是否适用于不同的情况?您已经正确地记下了 更详细地说: iconify()将窗口变成图标(而不会破坏它)。要重新绘制窗口

就Tkinter的iconify()和draw()方法的差异而言,我一直在搜索,但没有找到答案

  • iconify()似乎将窗口“转换”为任务栏图标,并具有“图标”状态
  • draw()似乎只是将窗口从屏幕上移除,之后窗口的状态为“撤回”
如果需要扭转这种情况,只需在这两种情况下调用deiconify()

然而,这两种方法之间的真正区别是什么?它们之间的本质区别是什么?
此外,它们是否适用于不同的情况?

您已经正确地记下了

更详细地说:

iconify()将窗口变成图标(而不会破坏它)。要重新绘制窗口,请使用deiconify。在Windows下,该窗口将显示在任务栏中。 当窗口被图标化后,state方法返回“icologic”

draw()从屏幕上删除窗口(而不破坏它)。要重新绘制窗口,请使用deiconify。 当窗口被撤回时,state方法返回“撤回”

资料来源:

就用例而言,您通常会在希望用户能够轻松访问因任何原因“最小化”(通过iconify())的窗口的情况下使用iconify()。例如,假设用户单击一个按钮,该按钮“最小化”一个窗口并打开一个新窗口。使用iconify()可以让用户在新窗口中执行他们需要执行的任何操作,然后轻松返回到上一个窗口,因为它在用户看来是一个图标

另一方面,draw()用于“隐藏”窗口。例如,我开发了一些应用程序,在启动应用程序时自动创建多个窗口。如果我使用iconify(),用户会知道所有创建的窗口,因为他们会将它们视为图标。想象一下,一个用户只需启动一个应用程序就可以看到10个窗口,这是多么令人震惊啊!因此,我使用了draw(),这样只有当用户触发了正确的事件时,每个窗口才会出现(通过deiconify())