Python Tkin中iconify()与draw()的区别

2024-04-23 07:07:28 发布

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

就Tkinter的iconify()和recture()方法的不同之处而言,我一直在搜索,但没有找到答案。

  • iconify()似乎将窗口“转换”为任务栏图标,并具有“图标”状态
  • refract()似乎只是将窗口从屏幕上移除,之后窗口的状态为“refracted”

如果需要扭转这种情况,只需在两种情况下调用deconify()。

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


Tags: 方法答案屏幕tkinter状态情况图标区别
1条回答
网友
1楼 · 发布于 2024-04-23 07:07:28

你没弄错。

更详细地说:

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

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

来源:Tkinter -- Toplevel Window Methods

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

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

相关问题 更多 >