El curso de “Interfaz GrĂ¡fica con Python: Tkinter Bootstrap” estĂ¡ diseñado para brindar habilidades tĂ©cnicas en programaciĂ³n. Los participantes aprenderĂ¡n a realizar una interfaz grĂ¡fica de usuario (GUI) utilizando la librerĂa Tkinter Bootstrap. Mediante una vinculaciĂ³n entre la teorĂa y la prĂ¡ctica se buscarĂ¡ potenciar el conocimiento sobre estos temas que son fundamentales a la hora de programar en python.
Objetivos:
- Comprender los conceptos fundamentales de Tkinter tales como ventanas, frames, widgets y mainloop
- Aprender a utilizar distintos widgets, tales como botones, textos, calendarios, medidores y mĂ¡s
- Conocer las ventajas de diseñar correctamente una interfaz grĂ¡fica de usuario
- Aplicar las distintas formas de ubicaciĂ³n de widgets: grid, pack y place
- Aprender a añadir imagenes a nuestra GUI
- Aprender a estructurar el cĂ³digo de forma correcta mediante el armado de librerĂas para cada ventana
- Realizar aplicaciones ejecutables mediante archivos de extensiĂ³n .exe
- Promover la creatividad y la resoluciĂ³n de problemas
- Desarrollar habilidades tĂ©cnicas en programaciĂ³n que les permitirĂ¡n personalizar soluciones
- Explorar y expandir la creatividad y habilidades tĂ©cnicas en el campo de la programaciĂ³n mediante la implementaciĂ³n de proyectos desafiantes.
Unidad N°1: IntroducciĂ³n a Tkinter Bootstrap
- ¿QuĂ© es TkinterBootstrap?
- InstalaciĂ³n y configuraciĂ³n
- CreaciĂ³n de una aplicaciĂ³n de ejemplo
Unidad N°2: Primeros widgets con tkinter
- IntroducciĂ³n a los widgets : button, entry y label
- Comando de botones: funciones con y sin envĂo de parĂ¡metros
- AplicaciĂ³n multiventana
Unidad N°3: Primeros widgets con tkinter bootstrap
- CreaciĂ³n de un widget Label
- CreaciĂ³n de un widget Button
- Empaquetar widgets en una ventana
- Cambiar estilo de widgets: color, tamaño y demas atributos
- Manejo de eventos y comandos
- Definir estilos propios de widgets
Unidad N°4: Frames y posicionamiento
- Concepto de frames. ¿Por quĂ© son importantes utilizarlos?
- CreaciĂ³n y configuraciĂ³n del widget Frame
- Formas de empaquetar frames y su ubicaciĂ³n
- Posicionamiento con grid para organizar widgets en filas y columnas
- Ajuste de geometrĂa de los widgets utilizando grid
- Posicionamiento con pack. Organizar widgets por bloques
- ConfiguraciĂ³n de opciones de empaquetado con pack
- Posicionamiento con place. Ubicar widgets en lugar preciso.
- ConfiguraciĂ³n de opciones de empaquetado con place
- Diferencias principales entre grid, place y pack
Unidad N°5: Otros tipos de botones – checkbutton y radiobutton –
- ¿QuĂ© es el widget checkbutton? ¿Para que lo utilizamos?
- CreaciĂ³n de checkbutton y asociaciĂ³n con variables
- Manejo de eventos al seleccionar o deseleccionar un checkbutton
- Uso de los parĂ¡metros onvalue y offvalue para personalizar los valores asociados a la selecciĂ³n
- ¿QuĂ© es el widget radiobutton? ¿Para que lo utilizamos?
- Crear un radiobutton y asociarlo a una variable
- CreaciĂ³n de varios Radiobuttons que pertenecen al mismo grupo
- ExplicaciĂ³n del comportamiento exclusivo de los Radiobuttons en un grupo
- Diferencias fundamentales entre estos dos widgets.
- Escenarios tĂpicos en los que se prefiere utilizar uno sobre el otro.
Unidad N°6: Widgets asociados al ingreso de datos
- Uso del widget Entry para la entrada de texto
- ConfiguraciĂ³n de propiedades como ancho, altura y estado de solo lectura.
- Manejo de eventos asociados a la entrada de datos
- Uso del widget Combobox para la selecciĂ³n de opciones a partir de una lista desplegable.
- CreaciĂ³n de un Combobox y carga de opciones dinĂ¡micamente.
- Uso widget Spinbox para la entrada de valores numĂ©ricos y no nĂºmericos mediante una caja de desplazamiento.
- ConfiguraciĂ³n de rangos y pasos de incremento o decremento.
- DescripciĂ³n del widget Calendar para la selecciĂ³n de fechas.
- ConfiguraciĂ³n de parĂ¡metros como el formato de fecha y el primer dĂa de la semana.
- Consejos y mejores prĂ¡cticas para diseñar formularios utilizando estos widgets de entrada de datos.
- OrganizaciĂ³n efectiva de widgets para mejorar la usabilidad.
Unidad N°7: Medidores e indicadores
- Uso del widget Meter para representar visualmente valores dentro de un rango.
- ConfiguraciĂ³n de propiedades como el color, tamaño y escala.
- Uso de mĂ©todos para actualizar dinĂ¡micamente el valor del medidor.
- CreaciĂ³n de una interfaz con un widget Meter.
- Uso del widget ProgressBar para mostrar el progreso de una tarea.
- ConfiguraciĂ³n de propiedades como orientaciĂ³n, longitud y estilo.
- Uso del widget floodgauge para mostrar indicar el nivel o progreso de una tarea
- ConfiguraciĂ³n de propiedades como orientaciĂ³n, longitud y estilo.
- Uso de mĂ©todos para actualizar dinĂ¡micamente el progreso de la barra
- Consejos sobre cĂ³mo utilizar medidores e indicadores de manera efectiva en la interfaz de usuario.
- PersonalizaciĂ³n y ajuste de propiedades para adaptarse al diseño general
Unidad N°8:Widget Slider
- DescripciĂ³n del widget Slider para la selecciĂ³n de valores dentro de un rango especĂfico.
- ConfiguraciĂ³n de propiedades como orientaciĂ³n, longitud y rango de valores.
- CĂ³mo crear un Slider en una interfaz de usuario tkinter.
- Establecimiento de parĂ¡metros como from, to, orient y otros
- Captura de eventos asociados al desplazamiento del Slider.
- Uso de funciones de retorno de llamada para responder a cambios en el valor seleccionado.
- PersonalizaciĂ³n adicional, como la adiciĂ³n de etiquetas, formato de valores, y manejo de incrementos/decrementos especĂficos
Unidad N°9:Widgets Menubuttons y notebooks
- Uso del widget Menubutton para crear un menĂº desplegable
- ConfiguraciĂ³n de opciones como texto, posiciĂ³n y el menĂº asociado
- CĂ³mo crear un Menubutton en una interfaz de usuario tkinter.
- Establecimiento de propiedades principales, como opciones, color, etc.
- Uso del widget notebook para crear distintas pestañas
- CreaciĂ³n de pestañas asociadas al widget
- Captura de eventos asociados al cambio de pestañas
Unidad N°10:Tree View
- Uso del widget TreeView para mostrar datos en una estructura jerĂ¡rquica de arbol
- ConfiguraciĂ³n de propiedades como columnas, encabezados y opciones de expansiĂ³n/contracciĂ³n.
- Establecimiento de columnas y configuraciĂ³n de encabezados.
- Agregar elementos y subelementos al
TreeView
para representar la estructura jerĂ¡rquica. - Uso de mĂ©todos asociados para insertar datos y leer datos de nuestro widget Treeview
- Armado de funciones para: agregar datos, buscar datos, mostrar datos y eliminar datos
Unidad N°11:Widget Messagebox
- DescripciĂ³n general del mĂ³dulo messagebox y su utilidad en la creaciĂ³n de interfaces grĂ¡ficas interactivas en tkinter.
- Detalles sobre los diferentes tipos de mensajes que se pueden mostrar, como informativos, de advertencia y de error.
- CĂ³mo utilizar
messagebox.showinfo
para presentar mensajes informativos al usuario. - PersonalizaciĂ³n de tĂtulos y contenido del mensaje.
- Uso de
messagebox.showwarning
para mostrar advertencias al usuario. - ImplementaciĂ³n de
messagebox.showerror
para comunicar errores a los usuarios. - CĂ³mo utilizar
messagebox.askyesno
para hacer preguntas de sĂ/no y obtener la respuesta del usuario. - Uso de
messagebox.askyesnocancel
para hacer preguntas con opciones adicionales y gestionar respuestas mĂ¡s complejas.
Unidad N°12:Crear archivo ejecutable
- Librerpia pyinstaller
- Uso de la linea de comandos para empaquetar nuestros programas y crear el archivo ejecutable
- Realizar la prueba de funcionamiento de nuestro archivo .exe
Unidad N°13: Proyecto integral de aplicaciĂ³nÂ
- ExplicaciĂ³n del proyecto: sistema de ingreso a un panel de control
- Diseño de la aplicaciĂ³n de ingreso: sistema de usuario y contraseña.
- VerificaciĂ³n de usuario y contraseña
- Añadimos logo/imagen a nuestra ventana
- Añadimos 2 botones: cancelar e ingresar.
- Añadimos un checkbutton para el boton de “recordarme”
- Agregamos una ventana emergente para preguntarle al usuario si desea entrar al panel de control
- Creamos la segunda ventana: panel de control con medidores de temperatura, humedad, presiĂ³n y otras variables
- Creamos una clase para cada ventana, logrando legibilidad en el cĂ³digo
- Añadimos imĂ¡genes e iconos
- Hacemos interactuar cada clase, importando la librerĂa correspondiente
- Creamos el archivo ejecutable