Iniciación a los EVENTOS con TKINTER - incluye ejercicios - PYTHON 100 DÍAS #12
Вставка
- Опубліковано 5 лют 2025
- 💻🅃🄷🄴 🄿🄲 🄼🄰🅂🅃🄴🅁💻
███ █┼█ ███ ┼┼ ███ ███
┼█┼ █▄█ █▄┼ ┼┼ █▄█ █┼┼
┼█┼ █┼█ █▄▄ ┼┼ █┼┼ ███
█▄┼▄█ ███ ███ ███ ███ ███
█┼█┼█ █▄█ █▄▄ ┼█┼ █▄┼ █▄┼
█┼┼┼█ █┼█ ▄▄█ ┼█┼ █▄▄ █┼█
📣¡Like y suscríbete para más!
Iniciación a los EVENTOS con TKINTER - incluye ejercicios - PYTHON 100 DÍAS #12
Teórica del día con todo el código y explicaciones con apuntes:
programacionfa...
Ejercicios del día:
programacionfa...
Soluciones de los ejercicios:
programacionfa...
Instalación de Python y Visual Studio Code
programacionfa...
Descargar Python:
www.python.org...
Descargar Visual Studio Code:
code.visualstu...
Vector de televisor
www.freepik.es...
Otro vector:
www.freepik.es...
Freepik
#python #curso #tkinter
00:12 ¿Qué son los eventos con Tkinter?
01:20 ¿Qué significan las siglas GUI?
01:57 El atributo command de Tkinter
02:16 El widget Button de Tkinter
02:57 ¿Widgets en variables?
03:40 Los widgets y las clases
04:30 Los comentarios multilínea en Python
05:06 ¿Cómo creamos eventos en Python?
05:34 Pruebas de la interfaz gráfica con la consola
06:25 Llamadas a funciones con el atributo command
08:02 Generar nuevos widgets con eventos
08:50 Entrada de datos con el widget Entry
09:47 Obtener el valor del widget Entry
10:55 Problemas con pack
12:32 Utilizar el valor guardado en el Entry
14:29 El método get de Entry
14:51 Mensaje por defecto en el Entry
15:54 El método insert de Entry
18:50 Evento para vaciar el Entry con bind
24:13 Evento press any key...
25:10 Evento con la tecla backspace
25:50 Parte práctica - Ejercicios resueltos
Teórica del día con todo el código y explicaciones con apuntes:
programacionfacil.org/blog/introduccion-a-los-eventos-de-raton-mouse-y-teclado-con-tkinter-100-dias-de-python-12/
Ejercicios del día:
programacionfacil.org/blog/ejercicios-de-programacion-de-eventos-con-tkinter-100-dias-de-python-12/
Soluciones de los ejercicios:
programacionfacil.org/blog/soluciones-de-ejercicios-con-eventos-de-tkinter-100-dias-de-python-12/
la barbaridad que estoy aprendiendo con este curso no es normal. Me esta resultando de muchisima utilidad para mi trabajo. Gracias!!!
Maestro. No dejes de subir videos por favor. Yo estoy repasando lo ya visto y no dejo de sorprenderme con lo ameno que se hacen tus videos y lo facíl que se aprende. Muchas Gracias por el esfuerzo que haces.
Hola, no lo dejaré, de hecho, es el que mejor va de visitas de todos los que estoy haciendo.
Muchas gracias por tu comentario :D
Posiblemente el mejor curso de Python del Mundo. Brutal!
Buenas profe, muchas gracias por las clases son de mucha ayuda
Excelente aporte, se aprende muy bien con esta manera que tenes de enseñar en los videos, muchas gracias!
¡Muchas gracias! Me alegro de que te sirvan. Saludos 🙂
SOS UN CAPO, tu manera de explicar es muy amena. Muchísimas graciassssssss
Excelente curso, de lo mejorcito que me he encontrado, muchas gracias
Muchas gracias! 😊
Mucho ánimo con el curso, es excepcional!
¡Muchas gracias!🙂
En cada video me sorprende mas lo facil que me hace entender los temas.
Eso es que vas progresando muy bien :)
no dejes de subir vídeos por favor es el mejor curso que hay aunque sea poca audiencia es de calidad
Aquí estaré hasta el capítulo 100 o el 200 si hace falta :) ¡Un saludo!
Contenido del día 12:
00:12 ¿Qué son los eventos con Tkinter?
01:20 ¿Qué significan las siglas GUI?
01:57 El atributo command de Tkinter
02:16 El widget Button de Tkinter
02:57 ¿Widgets en variables?
03:40 Los widgets y las clases
04:30 Los comentarios multilínea en Python
05:06 ¿Cómo creamos eventos en Python?
05:34 Pruebas de la interfaz gráfica con la consola
06:25 Llamadas a funciones con el atributo command
08:02 Generar nuevos widgets con eventos
08:50 Entrada de datos con el widget Entry
09:47 Obtener el valor del widget Entry
10:55 Problemas con pack
12:32 Utilizar el valor guardado en el Entry
14:29 El método get de Entry
14:51 Mensaje por defecto en el Entry
15:54 El método insert de Entry
18:50 Evento para vaciar el Entry con bind
24:13 Evento press any key...
25:10 Evento con la tecla backspace
25:50 Parte práctica - Ejercicios resueltos
Lo mejor que vi en Internet, super recomendable!!!
¡Muchas gracias! 😀
Gracias otra vez por tu curso, esta clase parecía fácil, pero al hacer los ejercicios he tenido que estar repasando por que no recordaba todo. Gracias de nuevo.
Fantástico!! El mejor tutorial de Tkinter de todo internet👏👏👏
🙌 ¡Muchas gracias! :)
Excelente como siempre!!! Por favor sigue así!!! Gracias crack!!!
Muy bueno el curso amigo, estoy aprendiendo poco pero seguro, un saludo.
Si este en el capitulo 12 ya estamos con tkinter no me imagino como vendrá después, ya de ya voy a empezar este curso de python que es algo que ya estaba posponiendo mucho. No me arrepiento de suscribirme a este canal.
De hecho, desde el capítulo 8 ya empezamos un poquito con Tkinter. Disfruta del curso :)
Entiendo el trabajo que te debe suponer estos cursos. Este en cncreto lo encuentro ameno y facil de seguir. Quiero darte mi apoyo para que sigas adelante. (GRACIAS)
perfecto, sigue así. Gracias por tu tiempo
¡Muchas gracias!
Maestro, sin palabras. Simplemente formidable.
¡Muchas gracias! Cuándo llegues al capítulo 11, seguro que te gustará más incluso 😄
Me parece estupenda la manera que tienes de disgregar, explicar una a una, cada línea de texto. Muchas gracias!
Hace la explicación más larga, pero intento no obviar cosas que puede que no todos sepan. Me alegro de que valga la pena.
¡Muchas gracias! :D
fantastico video
¡Muchas gracias!
Imponente. Gracias👍
consulte muchos videos, pero este señor, enseña incluso mejor que mi profesor, mil y mil gracias....
Grandioso curso.
¡Muchas gracias! 😊
Excelente curso, lo explicas muy bien. Gracias.
¡Muchas gracias!
28:15 He dicho que para que funcione, tiene que ponerse la etiqueta en una variable. En este caso, no. Fallo mío : )
Esta muy bueno el curso!! gracias!
Excelente👍
¡Muchas gracias!
Hola empecé a ver tus videos y te comento que están muy entendibles, las palabras en buen tamaño de texto aunque, si puedes aumentarlas un poco se agradece, muy buenas clases, saludos desde Uruguay.
Excelente tener los anteriores videos cuando me quedan algunas cosas o detalles olvidados. Muchas gracias
muy clara la clase.
me gusta !!!
Sigamos adelante
Hola seria bueno que hicieras algo con Lamden es una blockchain en la cual puedes crear contratos inteligentes en python, es super facil de utilizar y es bastante innovador que se pueda hacer eso, hechale un ojo cuando puedas
Estimado, estoy estudiando los eventos con bind que explico y me sucede que al tocar el boton izquierdo se borra tal como lo explico pero al cerrar la ventana mediante un botn "cerrar" me indica :"TypeError: () missing 1 required positional argument: 'x'". Explico que es necesario poner una variable en lambda para que no se auto ejecute pero como evito este error? Mcuhas Gracias y Excenet el Canal.
Perdona descubri que el error se generaba cuando en el boton salir le puse al lamda una variable inecesarimente. Disculpa. Excelente los videos
¡Perfecto! Un saludo :)
Gracias Maestro. Una Duda...El orden en el que debe aparecer las cosas en el programa es estrictamente el que aparece en el video?? es decir:
- Entrada de datos
- Eventos para el boton
- Boton
O puede ser otro orden?
Hola, no necesariamente, lo importante, ya que el evento, no se desencadena según el flujo de ejecución. Solo lo hace cuando pulsamos el botón. Aquí tienes un orden totalmente distinto al del capítulo:
#Importaciones
from tkinter import *
#Creación de la ventana principal
root = Tk()
#Título de la ventana
root.title("Curso de Tkinter de Programación Fácil")
#Evento para el botón
def pulsar_boton():
#Se obtiene el valor del Entry
texto = entrada.get()
#Se muestra en una etiqueta el valor del Entry
Label(root, text=f"Hola {texto}.").pack()
#Botón
Button(root, text="¡Púlsame!", command=pulsar_boton).pack()
#Entrada de datos
entrada = Entry(root)
entrada.insert(0,"Escriba su nombre...")
entrada.bind("", lambda despejar : entrada.delete(0, END))
entrada.pack()
#Bucle de ejecución
root.mainloop()
Ves haciendo pruebas y verás como en el caso de eventos, hay bastante flexibilidad.
amigo como se llama la extencion que usas para poner el color de las letras
Hola, es esta: ua-cam.com/users/shortsxUT1sv-PydI
@@ProgramacionFacilYT muchas gracias un suscriptor mas 🙂🙂
Gracias a tí por la sub 😊. ¡Un saludo!
Amigo, discúlpame, pero no recuerdo que hayamos visto el .bind, me indicas en que capitulo fué para ir a revisarlo
Hola, no, es en este capítulo donde lo explico. Nos sirve para establecer eventos como ves en el vídeo.
@@ProgramacionFacilYT gracias!
Profe, analizando el código en el 13:30 noto que entrada = tk.Entry y en la función pulsar_boton; texto = entrada no se puede obviar él .get? y si no porque?
Hola, en el código que mencionas, la línea entrada = tk.Entry(...) crea un objeto de tipo Entry de tkinter. El método get(), devuelve el texto que ha sido ingresado por el usuario.
En la función pulsar_boton(), la línea texto = entrada asigna el widget entrada a la variable texto. Esto significa que texto ahora es una referencia al objeto entrada, no al texto que se ha ingresado en el widget.
Por lo tanto, para obtener el texto que se ha ingresado en el widget, es necesario llamar al método get() en entrada, como en texto = entrada.get(). Esta línea obtiene el texto ingresado y lo asigna a la variable texto.
Si se omite el .get(), la variable texto contendría una referencia al objeto entrada, en lugar del texto ingresado por el usuario.
@@ProgramacionFacilYT Gracias por la aclaración, ya llevaba ratico con esa duda.
Hola, necesito ayuda, el primer evento con el Label no me funciona, lo hice TAL CUAL lo hiciste vos y no se aparece ese texto del Label.
Hola, por si quieres revisarlo mejor, aquí está el código del capítulo: programacionfacil.org/blog/introduccion-a-los-eventos-de-raton-mouse-y-teclado-con-tkinter-100-dias-de-python-12/
De todas formas, si dices que lo tienes exactamente igual, ¿me podrías enviar el error para que sepa que está ocurriendo?
Quizá alguien me puede ayudar con el error que tengo al momento de importar algo
from tkinter import *
root = Tk()
root.mainloop()
pongo ese codigo para que me aparezca la ventana pero tengo el siguiente error: NameError: name 'Tk' is not defined
alguien sabe que es lo que puede llegar a ser? Me faltará alguna exensión?
Cómo sería el código del ejercicio numero 2 usando "grid" en vez de "pack"?
es bastante simple pues solo tienes que poner en la misma columna pero diferente fila, aunque es mas sencillo solo poniendo el grid
hola buenas lo que pasa es que me vota un error en el ejerccio 31.05 me vota AttributeError: 'str' object has no attribute 'tk'
Hola, tendrías que enviarme la línea de código que te da error. No la el error en sí, si no, la línea de código que te lo produce.
yo no se ustedes pero me dio mucha risa al imaginarme esta situacion:
Utilizar cualquier tecla como evento en bind
Una cosa interesante que podemos poner como evento, es todo el teclado. En lugar de poner un string con un botón o tecla en concreto, podemos dejar siguiente evento para que se desencadene al pulsar la que sea. Filosofía del típico "Press any key...".
Python
1
#Entrada de datos
2
entrada = Entry(root)
3
entrada.insert(0,"Escriba su nombre...")
4
entrada.bind("", lambda despejar : entrada.delete(0, END))
5
entrada.pack()
En esta ocasión, esto no tendrá sentido, ya que nos borrará el mensaje por defecto con la primera tecla que presionemos. Sin embargo, cada tecla que utilices para escribir, borrará la anterior.
xD xD xD
simplemente soberbio
¡Muy agradecido! 😀
@@ProgramacionFacilYT yo a ti si que te lo agradedco
@@ProgramacionFacilYT pena que ahora este estudiando y no den python si no con tigo tenia aprobado el curso, se lo pedimos a la profesora que en vez de java que diera python pero no le convencia "sera...." y luego para que no tenga ni idea de esplicar un dia le pongo tus videos para que vea como se enseña a programar "¿no te interesara hacer un curso de java? tendrias minimo 30 subcripciones mas por que mis compañeros y yo estamos en las mismas jajajaja"
Traceback (most recent call last):
File "c:\Users\USER\OneDrive\Escritorio\PYTHONYA\MasterPython\import_modulos\__pycache__\ejercicio_2.py", line 24, in
Button(root, text="ENVIAR", command=pulsar_boton).pack()
File "C:\Users\USER\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py", line 2452, in pack_configure
self.tk.call(
_tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid
tengo este error
Yo lo hice con Lambda:
#Importaciones
from tkinter import *
#Creación de la ventana principal
root = Tk()
#Título de la ventana
root.title("Curso de Tkinter de Programación Fácil")
nombre = Entry(root)
nombre.grid(row=0,column=1)
apellido = Entry(root)
apellido.grid(row=1,column=1)
Label(root,text="Nombre:").grid(row=0,column=0)
Label(root,text="Apellido:").grid(row=1,column=0)
boton1 = Button(root, text="Generar",command=lambda:printbuton(nombre,apellido)).grid(row=2,column=1)
def printbuton(nombre,apellido):
nombre = nombre.get()
apellido = apellido.get()
Label(root,text=f"Hola señor {nombre} {apellido}").grid(row=3,column=1)
#Bucle de ejecución
root.mainloop()
23.50 ME VOTA ERROS AL MOMENTO DE EJECUTAR EL CODIGO ME SALE
_tkinter.TclError: bad event type or keysym "button
AYUUDA:c
Envíame en este también la línea de código que da error.
print(go_foward)