Jon*_*röm 55 python winapi tk-toolkit tkinter
你知道一种聪明的方式来隐藏或以任何其他方式摆脱出现的根窗口Tk()吗?我想只使用一个普通的对话框.
我应该跳过对话框并将所有组件放在根窗口中吗?是可能的还是可取的?还是有更聪明的解决方案?
Bry*_*ley 76
可能绝大多数基于tk的应用程序将所有组件放在默认的根窗口中.这是最方便的方法,因为它已经存在.选择隐藏默认窗口并创建自己的窗口是一件非常好的事情,尽管它只需要一点额外的工作.
要回答有关如何隐藏它的特定问题,请使用根窗口的withdraw方法:
import Tkinter as tk
root = tk.Tk()
root.withdraw()
Run Code Online (Sandbox Code Playgroud)
如果要再次显示窗口,请调用deiconify(或wm_deiconify)方法.
root.deiconify()
Run Code Online (Sandbox Code Playgroud)
一旦你与对话完成后,你可以沿着与其他所有的Tkinter部件销毁根窗口破坏方法:
root.destroy()
Run Code Online (Sandbox Code Playgroud)
Car*_*ada 13
我没有测试过,因为我没有任何Python/TKinter环境,但试试这个.
在纯Tk中,有一种称为"wm"的方法来管理窗口.在那里你可以做一些像"wm withdraw .mywindow"这样的地方,其中'.mywindow'是一个顶级的.
在TkInter中你应该能够做类似的事情:
root = Tkinter.Tk()
root.withdraw() # won't need this
Run Code Online (Sandbox Code Playgroud)
如果要再次显示窗口,请调用deiconify(或wm_deiconify)方法.
root.deiconify()
Run Code Online (Sandbox Code Playgroud)
如果您不希望创建窗口时出现“闪烁”,请使用以下细微的变化:
import Tkinter as tk
root = tk.Tk()
root.overrideredirect(1)
root.withdraw()
Run Code Online (Sandbox Code Playgroud)