ventana una toplevel tamaño fondo etiquetas emergente crear con color cerrar botones abrir python winapi tkinter tk

una - ¿Cómo me deshago de la ventana raíz de Python Tkinter?



tkinter tamaño de ventana (4)

¿Conoces una forma inteligente de ocultar o de alguna otra manera deshacerte de la ventana raíz que aparece, abierta por Tk() ? Me gustaría simplemente usar un diálogo normal.

¿Debo omitir el diálogo y poner todos mis componentes en la ventana raíz? ¿Es posible o deseable? ¿O hay una solución más inteligente?


En OSX, iconify parece funcionar mejor:

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


No lo he probado porque no tengo ningún entorno Python / TKinter, pero prueba esto.

En Tk puro hay un método llamado "wm" para administrar las ventanas. Allí puedes hacer algo como "wm withdraw .mywindow", donde ".mywindow" es un toplevel.

En TkInter deberías ser capaz de hacer algo similar a:

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

Si desea que la ventana sea visible nuevamente, llame al deiconify (o wm_deiconify).

root.deiconify()


Probablemente la gran mayoría de las aplicaciones basadas en tk coloque todos los componentes en la ventana raíz predeterminada. Esta es la forma más conveniente de hacerlo ya que ya existe. Elegir ocultar la ventana predeterminada y crear la tuya es algo muy bueno, aunque requiere un poco de trabajo extra.

Para responder a su pregunta específica sobre cómo ocultarlo, use el método de withdraw de la ventana raíz:

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

Si desea que la ventana sea visible nuevamente, llame al deiconify (o wm_deiconify).

root.deiconify()

Una vez que haya terminado con el diálogo, puede destruir la ventana raíz junto con todos los otros widgets tkinter con el método de destroy :

root.destroy()


Si no quiere que haya un "flash" como se crea la ventana, use esta ligera variación:

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