Python Tkinter中iconify()和withdraw()之间的区别

时间:2014-04-03 10:00:02

标签: python tkinter

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

  • iconify()似乎"转换"任务栏图标的窗口,状态为" iconic"
  • withdraw()似乎只是从屏幕上移除窗口,之后窗口状态为"撤回"

如果您需要扭转局面,只需在两种情况下调用deiconify()。

但是,这两种方法之间的真正区别是什么?它们之间的差异如何? 而且,它们是否适用于不同的情况?

1 个答案:

答案 0 :(得分:9)

你把它弄好了。

更详细:

iconify()将窗口变为图标(不破坏它)。要重绘窗口,请使用deiconify。在Windows下,窗口将显示在任务栏中。 当窗口被图标化时,状态方法返回“iconic”。

withdraw()从屏幕上移除窗口(不破坏它)。要重绘窗口,请使用deiconify。 当窗口被撤销时,状态方法返回“撤回”。

来源:Tkinter -- Toplevel Window Methods

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

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