你是否知道一种聪明的隐藏方式或以任何其他方式摆脱出现的根窗口,由 Tk()打开?我想使用普通对话框。

我应该跳过对话框并将所有组件放在根窗口中吗?是可能的还是可取的?或者有更聪明的解决方案吗?

有帮助吗?

解决方案

可能绝大多数基于tk的应用程序都将所有组件放在默认的根窗口中。这是最方便的方法,因为它已经存在。选择隐藏默认窗口并创建自己的窗口是一件非常好的事情,尽管它只需要一点额外的工作。

要回答有关如何隐藏它的具体问题,请使用撤消根窗口的方法:

import Tkinter as tk
root = tk.Tk()
root.withdraw()

如果您想再次显示窗口,请拨打 deiconify (或wm_deiconify)方法。

root.deiconify()

完成对话框后,您可以使用销毁方法:

root.destroy()

其他提示

我没有测试过,因为我没有任何Python / TKinter环境,但试试这个。

在纯Tk中,有一种称为“wm”的方法。管理窗户。在那里你可以做一些类似“wm withdraw .mywindow”的事情。其中'.mywindow'是一个顶级的。

在TkInter中你应该可以做类似的事情:

root = Tkinter.Tk()
root.withdraw() # won't need this

如果您想再次显示窗口,请拨打 deiconify (或wm_deiconify)方法。

root.deiconify()

在OSX上,iconify似乎效果更好:

root = Tkinter.Tk()
root.iconify()

如果你不希望有“闪光”的话。在创建窗口时,请使用以下微小变化:

import Tkinter as tk
root = tk.Tk()
root.overrideredirect(1)
root.withdraw()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top