Módulo 3
Aplicaciones con Tkinter
Programas con ventanas, botones y formularios: cada componente visual explicado a fondo, con su colocación, sus eventos y tres aplicaciones completas.
📚 50 lecciones
⏱ 1266 min en total
- 1Qué es una interfaz gráficaCuándo una ventana es la respuesta correcta y cuándo no, qué es Tkinter por dentro y por qué es el punto de partida razonable.21 min
- 2Tu primera ventanaEl programa mínimo que abre una ventana, explicado línea por línea, y el patrón de tres pasos que se repite en todo el módulo.22 min
- 3El bucle de eventosPor qué una interfaz gráfica se programa al revés que un script, qué hace mainloop por dentro y por qué una función lenta congela la ventana.27 min
- 4Propiedades de la ventanaTítulo, tamaño, posición, icono, atributos y cierre controlado: todos los métodos de la clase Tk, con una plantilla de arranque al final.33 min
- 5El sistema de widgetsEl árbol de contenedores, las tres formas de dar opciones a un widget, cómo preguntarle cuáles acepta y lo que comparten todos.32 min
- 6Tk frente a ttkPor qué hay dos juegos de widgets, cuál está en cada uno, por qué ttk rechaza las opciones de aspecto y cómo se le cambia la cara con estilos.27 min
- 7Colores, fuentes y medidasCómo se nombra un color, cómo se define una fuente para que respete el sistema, y por qué width no significa lo mismo en dos widgets distintos.22 min
- 8El gestor packCómo razona pack repartiendo la cavidad de la ventana, sus nueve opciones, y la diferencia entre fill y expand que todo el mundo confunde.22 min
- 9El gestor gridLa rejilla de filas y columnas: sticky, las celdas combinadas y el peso, que es lo que decide quién crece al agrandar la ventana.20 min
- 10El gestor placeColocar por coordenadas exactas o proporcionales, por qué casi nunca conviene, y los tres casos en los que es la única respuesta.14 min
- 11Marcos y anidamientoEl widget invisible que estructura toda interfaz: por qué se anidan los marcos, cómo dividir una ventana en bloques y una función por bloque.17 min
- 12Diseños que se adaptanLa disciplina de que una ventana aguante cualquier tamaño: quién crece, cómo diagnosticar un redimensionado roto y qué mínimos poner.17 min
- 13La etiqueta: LabelEl widget que muestra texto y hace de print en una interfaz: las dos alineaciones que se confunden, el texto que se parte en varias líneas, el texto que cambia solo y las etiquetas que tiemblan.25 min
- 14El botón: ButtonEl widget que convierte una ventana en un programa: cómo se ata una función, cómo se le pasan argumentos sin caer en las dos trampas clásicas, cómo se deshabilita y cómo se prueba sin pulsarlo.22 min
- 15El campo de texto: EntryEl primer widget que guarda lo que escribe quien usa el programa: leerlo, rellenarlo, protegerlo, ponerlo de solo lectura y validarlo sin que la validación se desactive a tus espaldas.26 min
- 16El área de texto: TextEl widget más potente de Tkinter y el que tiene sus propias reglas: índices de línea y columna, el salto de línea que nunca pediste, etiquetas que dan formato, y deshacer sin que se lleve el contenido inicial.24 min
- 17La casilla de verificación: CheckbuttonEl widget de sí o no, y el tercer estado que nadie espera: por qué una casilla sin variable nace a medias, cómo se manejan grupos de opciones y cómo se hace un «seleccionar todo» que se entera de lo que pasa.19 min
- 18Los botones de radio: RadiobuttonElegir una opción entre varias: el grupo que se forma compartiendo una variable, el descuido que deja todos los botones sin marcar, y cuándo conviene un desplegable o una lista en su lugar.18 min
- 19El desplegable: ComboboxUn campo de texto con una lista colgando: la decisión entre dejar escribir o no, el índice que vale menos de lo que parece, y las listas que dependen de otra lista.21 min
- 20La lista: ListboxVer varias opciones a la vez y elegir una o muchas: los cuatro modos de selección, los índices que devuelve en vez de valores, y el descuido que hace que dos listas se desmarquen entre sí.23 min
- 21El selector numérico: SpinboxUn campo con dos flechas para subir y bajar: el rango que las flechas respetan y el teclado no, los decimales con su formato, y el selector que también sirve para texto.20 min
- 22El deslizador: ScaleElegir arrastrando en vez de escribiendo: el widget temático con doce opciones, el valor decimal que nunca pediste, y el único caso del bloque donde el widget clásico es claramente mejor.18 min
- 23La barra de progreso: ProgressbarContar lo que tarda: los dos modos y cuándo usar cada uno, el step que da la vuelta sin avisar, la variable que deja de hacer caso a value, y cómo trocear el trabajo con after para que la barra se mueva de verdad.21 min
- 24La barra de desplazamiento: ScrollbarEl widget que no funciona solo: las dos mitades de la conexión y los dos síntomas de olvidar una, por qué un Frame no se puede desplazar, y la receta del Canvas con lo que nadie te cuenta de la rueda del ratón.27 min
- 25El lienzo: CanvasEl widget donde dibujas tú: las nueve figuras y su sistema de coordenadas, los identificadores que fallan en silencio cuando la figura ya no está, y las etiquetas que convierten mil figuras en un grupo.32 min
- 26El lienzo interactivo: eventos, imágenes y animaciónHacer que el dibujo responda: atar eventos a figuras y qué eventos no acepta, traducir el píxel de la ventana a coordenada del lienzo, arrastrar con el ratón, y la trampa de las imágenes con su diagnóstico exacto.30 min
- 27La tabla: TreeviewEl widget de las tablas y los árboles: la columna cero que no está en la lista, los valores que vuelven con el tipo adivinado y destrozan un código postal, ordenar al pulsar la cabecera, y la edición de celdas que no existe.38 min
- 28Las pestañas: NotebookRepartir una interfaz en pestañas: el widget que debe ser padre de sus páginas, el select que devuelve un nombre y no un widget, las tres formas de esconder una pestaña, y el evento que salta antes de que tu programa exista.25 min
- 29Paneles y separadores: PanedWindow y SeparatorDivisiones que se arrastran: la regla exacta de weight, el sashpos que solo funciona cuando el widget ya mide algo, el panel que se puede encoger hasta desaparecer, y el separador de un píxel que no se ve.23 min
- 30El marco con título: LabelFrameEl widget que cierra la escala de separación, el labelwidget que convierte el título en una casilla, y el hallazgo que da de verdad trabajo: desactivar un marco no desactiva nada de lo que hay dentro.26 min
- 31La barra de menúsEl único widget que no va dentro de la ventana, el accelerator que no ata nada, el índice que vale None en un menú vacío, y el tearoff que desplaza todo lo demás.31 min
- 32Menús contextuales y barras de herramientasEl evento que evita adivinar el botón derecho, el tk_popup que no vuelve hasta que lo cierras, el grab que deja la interfaz muerta si te descuidas, y la barra de herramientas que no es un widget.26 min
- 33Las variables de controlQué es de verdad una StringVar, el fallo que la hace desaparecer a media ejecución, el IntVar que revienta con el campo vacío, y las cuatro cosas de trace_add que nadie cuenta.26 min
- 34Eventos y bindLos cuatro niveles por los que pasa un evento y el que no está en la cadena, el bind que borra el anterior sin avisar, los campos que valen '??' en vez de None, y el event_generate que no espera.24 min
- 35Teclado y ratón en detalleEl <Enter> que no es la tecla Enter, los ángulos que si faltan no dan error, el doble clic que dispara también el simple, y los modificadores que vienen como número.25 min
- 36Diálogos estándar con messageboxLa función que devuelve la cadena 'no' y hace que cualquier if sea cierto, la que devuelve tres cosas, la opción detail que casi nadie usa, y cuándo no hay que preguntar nada.21 min
- 37Diálogos de ficheros y de colorEl askcolor que devuelve un par y hace cierto el if al cancelar, los dos valores distintos que significan «he cancelado», el fichero que se queda abierto, y la opción que impide sobrescribir sin querer.23 min
- 38Ventanas secundarias y modalesLa ventana que parpadea en la esquina antes de que la coloques, el orden de once pasos de una modal, el grab anidado que rompe el de fuera, y por qué el resultado no lo devuelve wait_window.26 min
- 39Validación de formulariosEl validador que se olvida del return y apaga la validación para siempre, el error que habla de un booleano en vez de tu fallo, y el estado invalid que Tk gestiona solo y casi nadie aprovecha.24 min
- 40Organizar una aplicación en clasesLa deuda de treinta y seis lecciones de variables globales, el super() que si falta da un error que no dice nada, y el destroy que no se llama cuando cierras la ventana.22 min
- 41Separar la lógica de la interfazLa prueba objetiva de si lo has conseguido, las tres cosas que se escapan sin que te des cuenta, y la lógica que mueve una ventana y una terminal sin cambiar una línea.25 min
- 42Tareas largas sin congelar la ventanaPor qué se queda muerta, el update() que parece arreglarlo y es peor, el after que muere con su widget y el que no, y el hilo que toca un widget y revienta cuando le da la gana.28 min
- 43Preferencias que se recuerdan entre sesionesEl fichero que no debe impedir arrancar si está roto, el guardado que no puede dejarlo a medias, y la geometría guardada en un monitor que ya no está.27 min
- 44Imágenes con PhotoImage y PillowLa imagen que desaparece sin dar ningún error, los formatos que Tk sí y no entiende (con una sorpresa en Tk 9), el escalado que solo admite enteros, y la trampa que Pillow añade encima.26 min
- 45Empaquetar como ejecutable con PyInstallerLas preferencias que se borran en cada arranque sin que nadie se entere, el programa que no abre y no dice por qué, y el módulo que falta solo en el paquete.25 min
- 46Proyecto: un editor de textoUn editor completo juntando todo el módulo, con las tres partes que de verdad cuestan: la bandera de cambios sin guardar, el cierre que pregunta, y la búsqueda que no se cuelga.32 min
- 47Proyecto: un gestor de contactos con Treeview y SQLiteUna tabla que no es el almacén, una búsqueda que no confunde el porcentaje del usuario con un comodín, y un orden que pone la ñ donde le toca.29 min
- 48Proyecto: un panel de controlTres pestañas sobre la misma carpeta: una que mide cada segundo, una que trabaja en un hilo y se puede cancelar, y una que dibuja el historial. Y el apagado ordenado de las tres.39 min
- 49Notificaciones del sistema, el badge y la bandejaAvisar al usuario cuando la ventana no está delante: la bandeja que siempre funciona, el globo rojo con la cuenta, y cómo saber cuál de los avisos ha pulsado.40 min
- 50Modo claro y modo oscuroSaber en qué tema está el sistema sin preguntarle al sistema, enterarse de que ha cambiado, y repintar lo único que no se adapta solo: lo que has dibujado tú.35 min