¿Cómo se muestran y se ocultan los widgets en Tkinter? Quiero tener un recuadro de entrada, pero no mostrarlo en todo momento. ¿Puede alguien mostrarme las funciones para mostrar y ocultar widgets de entrada y otros widgets en tkinter? Quiero poder hacer esto sin tener múltiples marcos.Mostrar y ocultar widgets
Respuesta
This has been answered before on stackoverflow. La respuesta corta es que puede usar grid_remove, que hará que el widget se elimine si se agregó previamente a través de la cuadrícula. grid_remove
recuerda dónde estaba el widget, por lo que un simple grid()
lo regresará sin tener que volver a especificar todas las opciones.
También puede usar pack_forget (si usa el paquete) y grid_forget (si usa la red). Funcionan de forma similar a grid_remove, excepto que hacen que se olviden todas las configuraciones, lo que significa que debe volver a colocarlas explícitamente en el lugar correcto de la pantalla.
Otra opción es aprovechar el orden de apilamiento de los widgets. Puede usar el método lower para ocultar el widget detrás de su elemento principal y lift para subirlo arriba. Ver this answer para un ejemplo.
Probé las sugerencias que otros publicaron y noté que estaba cometiendo un simple error. No puede llamar al .grid()
en la misma línea que declara el widget que va a ocultar.
Para aclarar, que previamente tenía esto:
self.helpExpansion = ttk.Label(self.helpMenu, text="Expansion Widget").grid(row=1, column=3, sticky=EW)
self.helpExpansion.grid_remove()
Pero tengo el error AttributeError: 'NoneType' object has no attribute 'grid_remove'
. Para solucionarlo, he tenido que hacer la llamada a .grid()
en una nueva línea, así:
self.helpExpansion = ttk.Label(self.helpMenu, text="Help Expansion")
self.helpExpansion.grid(row=1, column=3, sticky=EW)
self.helpExpansion.grid_remove()
Entonces para alternar entre mostrar y ocultar, simplemente alternado entre llamar self.helpExpansion.grid()
(argumentos de la función no es necesario) y self.helpExpansion.grid_remove()
.
Para mí funcionó con tk.Label
o ttk.Label
. Estoy usando Python 2.7.13
. ¡Espero que ayude!
The Esto se debe a que, en lugar de asignar la referencia de etiqueta a self.helpExpansion, en realidad está asignando el valor de retorno de la llamada a grid(), que devuelve None. Agregar la llamada a grid() en la llamada al constructor de widgets es una forma abreviada conveniente, pero solo si no necesita una referencia posterior a ese widget (como una etiqueta fija, o cuando interactúa con el widget a través de uno de las variables tk especiales o a través de una devolución de llamada). – DrEsperanto
- 1. ¿Cómo ocultar/mostrar dinámicamente widgets?
- 2. C# ocultar y mostrar comentarios
- 3. Jquery animar ocultar y mostrar
- 4. ocultar y mostrar el panel con jQuery
- 5. Dojo Alternar Ocultar y Mostrar Divisiones
- 6. Ocultar y mostrar una celda del TableLayoutPanel
- 7. Mostrar, Ocultar y luego volver a mostrar Diseños, cortes Eventos
- 8. Mostrar/ocultar QDockWidget?
- 9. ¿Cómo ocultar/mostrar UIimageview?
- 10. Mostrar Ocultar DIVs: jQuery
- 11. mostrar widgets en la vista de mapa
- 12. Aplicación universal (tableta y teléfono): ¿cuál es la mejor estructura para el diseño múltiple xml o mostrar/ocultar widgets?
- 13. Qt Mostrar/Ocultar animación de widget
- 14. Problema al mostrar/ocultar divs
- 15. ocultar/mostrar son * muy * lentos
- 16. Barra de navegación mostrar/ocultar
- 17. Ocultar/mostrar contraer/expandir botones
- 18. Ocultar una vista y mostrar otra al tocar un botón
- 19. ¿Cómo ocultar y mostrar un CKEditor usando jQuery?
- 20. Cómo ocultar y mostrar un div con coffeescript - Rails 3.1
- 21. jQuery slideUp para mostrar el elemento y no ocultar
- 22. Mostrar y ocultar UITableViewCell con UISwitch bloqueos demasiado rápidos
- 23. jQuery mostrar durante 5 segundos y luego ocultar
- 24. Jquery, ocultar y lista Mostrar artículos después del artículo enésima
- 25. jquery mostrar/ocultar divs y un contador de
- 26. WPF: Mostrar y ocultar elementos en un ItemsControl con efectos
- 27. Ocultar el botón y mostrar de nuevo el toque
- 28. Javascript-CSS Mostrar y Ocultar elementos de formulario
- 29. Cómo mostrar múltiples widgets en la misma página usando MVC
- 30. Mostrar/ocultar campos según el valor seleccionado
Creo que está la respuesta a su pregunta: http://stackoverflow.com/questions/3819354/in-tkinter-is-there-any-way-to-make-a-widget-not-visable –