【问题标题】:How to show a window that was hidden using "withdraw" method?如何显示使用“撤回”方法隐藏的窗口?
【发布时间】:2013-04-04 18:20:27
【问题描述】:

我想在调用withdraw 后显示一个窗口。

以下是我当前的代码:

from Tkinter import *

def callback():    
    global root
    root.withdraw()
    win2 = Tk()

root = Tk()
Label(root,text='this is a window').pack()
Button(root,text='withdraw',command=self.callback).pack()
mainloop()

只要我按下按钮,窗口就会随我的意愿消失,然后会出现另一个窗口,一切正常。如何让第一个窗口恢复到与之前相同的状态?

【问题讨论】:

  • 一个重要的细节:回调函数不是子进程。它们与 Tkinter 代码在同一个线程上运行,如果耗时过长,GUI 就会冻结。如果它是子进程,则无法从该函数访问全局变量。
  • 你永远不应该创建两个Tk 实例——Tkinter 根本就不是为那样工作而设计的。如果您需要多个窗口,请创建 Toplevel 的实例。

标签: python python-2.7 tkinter


【解决方案1】:

当你想显示窗口时,使用以下命令:

# root.update()  # not required
root.deiconify()

如果您想了解更多信息,请参阅here

【讨论】:

  • 这是否意味着不需要??
猜你喜欢
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多