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

КОМЕНТАРІ • 85

  • @ProgramacionFacilYT
    @ProgramacionFacilYT  2 роки тому +6

    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/

  • @ManuelAvilaCapilla
    @ManuelAvilaCapilla Рік тому +2

    la barbaridad que estoy aprendiendo con este curso no es normal. Me esta resultando de muchisima utilidad para mi trabajo. Gracias!!!

  • @marcoantoniodacostabouza6604
    @marcoantoniodacostabouza6604 2 роки тому +7

    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.

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  2 роки тому +2

      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

  • @enjoythelive337
    @enjoythelive337 7 місяців тому +1

    Posiblemente el mejor curso de Python del Mundo. Brutal!

  • @cesargarciaarteaga2616
    @cesargarciaarteaga2616 3 місяці тому +1

    Buenas profe, muchas gracias por las clases son de mucha ayuda

  • @gonzalogarcia4925
    @gonzalogarcia4925 2 роки тому +1

    Excelente aporte, se aprende muy bien con esta manera que tenes de enseñar en los videos, muchas gracias!

  •  Рік тому

    SOS UN CAPO, tu manera de explicar es muy amena. Muchísimas graciassssssss

  • @davidmorillasanjose
    @davidmorillasanjose 2 роки тому +1

    Excelente curso, de lo mejorcito que me he encontrado, muchas gracias

  • @PepePerezLopez
    @PepePerezLopez 2 роки тому +1

    Mucho ánimo con el curso, es excepcional!

  • @ismaelrodriguezbelliard7849
    @ismaelrodriguezbelliard7849 8 місяців тому +1

    En cada video me sorprende mas lo facil que me hace entender los temas.

  • @RodrigoDaviaSanz
    @RodrigoDaviaSanz Рік тому +1

    no dejes de subir vídeos por favor es el mejor curso que hay aunque sea poca audiencia es de calidad

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  Рік тому

      Aquí estaré hasta el capítulo 100 o el 200 si hace falta :) ¡Un saludo!

  • @ProgramacionFacilYT
    @ProgramacionFacilYT  2 роки тому +3

    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

  • @diesantor
    @diesantor 2 роки тому +2

    Lo mejor que vi en Internet, super recomendable!!!

  • @ic4163
    @ic4163 Рік тому

    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.

  • @vmiralda
    @vmiralda 2 роки тому +1

    Fantástico!! El mejor tutorial de Tkinter de todo internet👏👏👏

  • @HernanBustosGrillo
    @HernanBustosGrillo 6 місяців тому

    Excelente como siempre!!! Por favor sigue así!!! Gracias crack!!!

  • @joseantoniocastro4924
    @joseantoniocastro4924 5 місяців тому

    Muy bueno el curso amigo, estoy aprendiendo poco pero seguro, un saludo.

  • @alexanderp.e.5164
    @alexanderp.e.5164 2 роки тому +5

    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.

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  2 роки тому

      De hecho, desde el capítulo 8 ya empezamos un poquito con Tkinter. Disfruta del curso :)

  • @golincho
    @golincho Рік тому

    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)

  • @FcoJRuizC
    @FcoJRuizC 2 роки тому +1

    perfecto, sigue así. Gracias por tu tiempo

  • @AndersonGarcia-qq3rt
    @AndersonGarcia-qq3rt 2 роки тому +1

    Maestro, sin palabras. Simplemente formidable.

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  2 роки тому

      ¡Muchas gracias! Cuándo llegues al capítulo 11, seguro que te gustará más incluso 😄

  • @ayn2662
    @ayn2662 2 роки тому +1

    Me parece estupenda la manera que tienes de disgregar, explicar una a una, cada línea de texto. Muchas gracias!

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  2 роки тому +1

      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

  • @andresmarzalgordo3160
    @andresmarzalgordo3160 2 роки тому +2

    fantastico video

  • @rubendariofernandez6600
    @rubendariofernandez6600 Рік тому +1

    Imponente. Gracias👍

  • @johanhenriquez3577
    @johanhenriquez3577 4 місяці тому

    consulte muchos videos, pero este señor, enseña incluso mejor que mi profesor, mil y mil gracias....

  • @IsraelCasqueteMolina
    @IsraelCasqueteMolina Рік тому +1

    Grandioso curso.

  • @rennyvivas5151
    @rennyvivas5151 2 роки тому

    Excelente curso, lo explicas muy bien. Gracias.

  • @ProgramacionFacilYT
    @ProgramacionFacilYT  2 роки тому +1

    28:15 He dicho que para que funcione, tiene que ponerse la etiqueta en una variable. En este caso, no. Fallo mío : )

  • @MiguelAngel-tt6ji
    @MiguelAngel-tt6ji Рік тому

    Esta muy bueno el curso!! gracias!

  • @dannyelkob
    @dannyelkob 2 роки тому +1

    Excelente👍

  • @waltergarre6643
    @waltergarre6643 2 роки тому

    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.

  • @villanuevatrejo
    @villanuevatrejo 2 роки тому +1

    Excelente tener los anteriores videos cuando me quedan algunas cosas o detalles olvidados. Muchas gracias

  • @JulioZygadlo
    @JulioZygadlo Рік тому

    muy clara la clase.

  • @juliocesarwalterosguerra368
    @juliocesarwalterosguerra368 6 місяців тому

    me gusta !!!

  • @subliangel3387
    @subliangel3387 Рік тому

    Sigamos adelante

  • @GanandoCriptomonedas
    @GanandoCriptomonedas 2 роки тому +1

    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

  • @cristiansierra6284
    @cristiansierra6284 Рік тому

    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.

    • @cristiansierra6284
      @cristiansierra6284 Рік тому +1

      Perdona descubri que el error se generaba cuando en el boton salir le puse al lamda una variable inecesarimente. Disculpa. Excelente los videos

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  Рік тому +1

      ¡Perfecto! Un saludo :)

  • @marcoantoniodacostabouza6604
    @marcoantoniodacostabouza6604 2 роки тому

    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?

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  2 роки тому +1

      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.

  • @shuberquispecenteno7223
    @shuberquispecenteno7223 Рік тому

    amigo como se llama la extencion que usas para poner el color de las letras

  • @jhananztv
    @jhananztv Рік тому

    Amigo, discúlpame, pero no recuerdo que hayamos visto el .bind, me indicas en que capitulo fué para ir a revisarlo

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  Рік тому +1

      Hola, no, es en este capítulo donde lo explico. Nos sirve para establecer eventos como ves en el vídeo.

    • @jhananztv
      @jhananztv Рік тому

      @@ProgramacionFacilYT gracias!

  • @rtapia40
    @rtapia40 5 днів тому

  • @meisonmvp1302
    @meisonmvp1302 2 роки тому

    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?

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  2 роки тому +1

      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.

    • @meisonmvp1302
      @meisonmvp1302 2 роки тому

      @@ProgramacionFacilYT Gracias por la aclaración, ya llevaba ratico con esa duda.

  • @santiagomontironi7661
    @santiagomontironi7661 Рік тому

    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.

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  Рік тому

      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?

  • @estebanrodriguez8172
    @estebanrodriguez8172 Рік тому

    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?

  • @lalobotomia7177
    @lalobotomia7177 2 роки тому

    Cómo sería el código del ejercicio numero 2 usando "grid" en vez de "pack"?

    • @josegabrielgarciavalecillo1805
      @josegabrielgarciavalecillo1805 Рік тому

      es bastante simple pues solo tienes que poner en la misma columna pero diferente fila, aunque es mas sencillo solo poniendo el grid

  • @lovestuart7791
    @lovestuart7791 2 роки тому

    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'

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  2 роки тому

      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.

  • @franciscoveloz8507
    @franciscoveloz8507 Рік тому

    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

  • @Cresnik1702
    @Cresnik1702 2 роки тому

    simplemente soberbio

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  2 роки тому +1

      ¡Muy agradecido! 😀

    • @Cresnik1702
      @Cresnik1702 2 роки тому +1

      @@ProgramacionFacilYT yo a ti si que te lo agradedco

    • @Cresnik1702
      @Cresnik1702 2 роки тому +1

      @@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"

  • @LaCajaH
    @LaCajaH Рік тому

    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

  • @jhananztv
    @jhananztv Рік тому

    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()

  • @lovestuart7791
    @lovestuart7791 2 роки тому

    23.50 ME VOTA ERROS AL MOMENTO DE EJECUTAR EL CODIGO ME SALE
    _tkinter.TclError: bad event type or keysym "button
    AYUUDA:c

  • @subliangel3387
    @subliangel3387 Рік тому

    print(go_foward)