Login (Inicio de sesión) de usuarios PYTHON desde cero / POO - TKINTER (PARTE 1)
Вставка
- Опубліковано 5 лют 2025
- CONTENIDO : CONTINUAREMOS CON LA ELABORACION DE LOGIN DE USUARIO PYTHON EN TKINTER, AHORA REGISTRAREMOS UN USUARIO EN BASE DE DATOS POR M
DISEÑO MODERNO :
INTERFAZ DE USUARIO, FORMULARIO LOGING MODERNO, PYTHON, TKINTER, SQLALCHEMY, CRYPTOGRAPHY
Para usar este proyecto debes tener instalado Python 3.x y el paquete Pillow
: pip install Pillow
TEMAS TUTORIAL:
► Creación de ventana
► Uso de Paneles - Frame
► Uso de Etiquetas. - Label
► Uso de Caja de texto - Entry
► Uso de botones - Button
► Uso de cajas de mensaje - messagebox
► Uso de imágenes - PhotoImage.
🔰 DESCARGAR PROYECTO
github.com/Aut...
Muy educativo con la forma de explicar el pequeño proyecto. Mis felicitaciones desde el pueblo de Toa Alta, Puerto Rico.
Gracias Gómez por tu comentario. me da ánimos
Estimado, muchas gracias por el video. Muy didáctico para quienes estamos empezando a conocer este lenguaje y poder ver en la práctica como hacer aplicaciones.
Muy bien explicado, baje el código fuente y lo ejecute y corrió bien el proyecto🤓
Te invito a ver la continuación del video ua-cam.com/video/V4zt_4hg7Yc/v-deo.html
@@autodidacta-mx Me interesa mucho seguir aprendiendo hacer programas con usted, si es necesario venda un curso en udemy o continue las clases.
Bien explicado, sencillo. Es una clase para personas con algún conocimiento previo, pero es muy didáctico. Esperando la siguiente parte, no se desanime... seria perfecto si pudiera hacer una serie completa de una aplicación tipo administrativa, como parte de una contabilidad o sistema similar, algo básico pero que muestre como manejar las diferentes ventanas desde un menú eso me cuesta entenderlo aun, y posiblemente otros que quieren aprender también tengan esa misma inquietud. Muchas Gracias por compartir sus conocimientos.
Es correcto es una clase para personas con cierta base de conocimiento si estoy planeando hacer serie desde conceptos básicos. Adjunto un nuevo video con mas complejidad espero te sirva : ua-cam.com/video/V4zt_4hg7Yc/v-deo.html
excelente explicación, muy recomendado. ahora seria buenísimo nos enseñes como crear información en la pagina a la que se accesa.
Excelente ❗❗
🙂
Gran trabajo en forma y fondo. Muy claras tus explicaciones. Solo una pequeña observación, más de forma, hay ciertas partes no muy ajustadas a PEP8, pero nada que no pueda corregir Black que tengo instalado y establecido como "Formating Provider" en VSC. Felicitaciones por tu trabajo y gracias por compartirlo
Gracias por tu observación
Que buen video
Gracias
excelente video muy practico gracias
Gracias, por tu tiempo
Estoy aprendiendo y esto me ayuda mucho
Que bueno me alegra te dejo la continuación de esta practica aumentando el nivel de complejidad espero te sirva ua-cam.com/video/V4zt_4hg7Yc/v-deo.html
Muy bien. Nuevo suscriptor
Hola muy buen video pero no me reconoce para leer la imagen del logo podría dar exacto el pip en que se instala esa función. Muchas gracias ❤
Recien agrege un Readme donde explico la version, me apoyas en darle una checada te paso el enlace . github.com/AutodidactaMx/Code-General-Python/tree/main/GUI%20Login
Por que me sale abajo del código subrayado en amarrillo si lo tengo tal como el?
A alguno le presenta problemas al momento cuando se coloca importa útil.genefic as utl
:O great !!
Se ve muy bien
Got a notebook and took notes... I’m making it out the hood
good luck
Podrías hacer un video donde te registras en SQL en esa mismo programa por favor 🙌🙌
Es parte de la segunda parte conectarlo a una base de datos, eso espero subirlo la próxima semana 23 de mayo.
Acabo de liberar la continuación de esta practica donde uso el ORM para registro y verificación con base de datos : ua-cam.com/video/V4zt_4hg7Yc/v-deo.html
Gracias
No se si me responda ua que es un video viejo. Pero me sale un error que diece
File from_master.py: 24 in
__init__
label=tk.label(self.ventana, image=logo, bg='#3a7ff6')
AttributeErrror: module 'tkinter' has no attribute 'label'
Porfa ayuda. Y gracias
Apoyame en revisar bien el codigo es muy extraño que el pauete de tkinter no contenga el label.
@@autodidacta-mx si fue un error mío, en esa linea debi poner label con L mayuscula.
label=tk.Label(self.ventana, image=logo, bg='#3a7ff6')
arreglando eso ya me va correctamente. Gracias por responder, me gustan mucho tus videos; e aprendido bastante con ellos, espero sigas subiendo mas contenido.
Hola me puedes ayudar Jose de donde sacas UTL GENERIC??
Hola amigo, una pregunta. Soy programador Java y en tal lenguaje para crear clases que hacen referencia a una tabla en base de datos existen las entidades, en java existe un plugin llamado JpaTools el cual permite escribir a mano las entidades es decir las clases y a partir de ellas generar la base de datos. Pero también ocurre a la inversa que a partir de la base de datos nos genera las entidades. Existe algo así en Python??
Otra duda es si se puede cambiar la fuente del titulo de la ventana??? estoy buscando eso.
Hola, muchas gracias por este aporte tan maravilloso, tengo una consulta, como puedo hacer para que el entry tenga un valor iniciar, ejemplo la fecha de hoy (fecha de cuando se ejecuta)
Si puedes ocupando un .insert(0, "valor defeccto") .
Ejemplo:
self.usuario = ttk.Entry(frame_form_fill, font=('Times', 14), textvariable="hola")
self.usuario.insert(0, "valor defeccto")
@@autodidacta-mx muchas gracias, por su respuesta me ha sido muy útil. 🤝
FalconMaster?
hola esta muy bien explicado, quisera saber si tiene asesoria ya que soy nuevo en python y no encutro que me pueda ayudar dando asesoria para poder terminar mi desarrollo gracias
No doy asesorías, pero plantéame tu problema o duda vemos si puedo darte una guía para ayudarte te comparto mi correo : jesus.gutierrez@autodidactamx.com.
No cuento con asesorías pero indícame un tema que tengas duda podría hacer un video explicando el tema.
print("hola a todos")
esperando la siguiente parte! quería saber si tiene algún tipo de suscripción pago para que pueda ayudar individualmente
Te agradezco tu intención Mariano , te invito que me apoyes viendo los siguientes videos espero sean de tu agrado. En esta continuación amento la complejidad de esta practica ua-cam.com/video/V4zt_4hg7Yc/v-deo.html
Hola, me está saliendo este error:
File "c:\Python\forms\form_master.py", line 16, in __init__
logo =utl.leer_imagen("./imagenes/logo.png", (200, 200))
File "c:\Python\util\generic.py", line 4, in leer_imagen
return ImageTk.PhotoImage(Image.open(path).resize(size, Image.ANTIALIAS))
AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'
Me apoyas en cambiar "ImageTk.PhotoImage(Image.open(path).resize(size, Image.ANTIALIAS))" Por -> "ImageTk.PhotoImage(Image.open(path).resize(size, Image.ADAPTIVE))"
Debido a la version que usas de Pillow es que ya no soporta ese parámetro. Saludos
Estimado, otro detallito, el el form_master.py, la línea 2 lo importado con "from tkinter.font import BOLD" no es usado, creo que la línea podría omitirse, salvo mejor parecer
Una consulta, como hago para ponerle un limite de cantidad de caracteres en la caja de texto al momento de escribir; por ejemplo si quiero que solo se pueda escribir hasta 5 caracteres y que no te permita digitar mas caracteres; saludos
Bien en el comentario del video de la parte dos te dejo la respuesta .
no me toma el import del util.generic :c
donde madres descargo el util?
al correr el codigo la imagen me sale centrada y no me sale a lado izquierdo :c
Ya era aqui frame_logo.pack(side="left", expand=tk.NO, fill=tk.BOTH)
tenia que tener el expand=tk.yes en NO.
Jajaj ya que estaba por responder. Buen trabajo Miguel
Hola, espero estes bien, tengo 2 errores voy en el paso a paso contigo y me genera error de named en los modulos util.generick y en en PIL no me los genera bien dice no module named, me podrias ayudar quedo atento
pudiste resolverlo? tengo el mismo problema
@@ramirezhernandezrobertocar8591 Lo que pude averiguar es que el modulo/libreria "PIL" dejo de funcionar con Python, ya que intente instalar pillow por varias formas, desde la terminal de vscode pero seguí con el mismo error, creo que la solución es cambiar o no utilizar esta librería.
Falcon master?
Con debido respeto y así hay quien dice que python es fácil, tanto código para hacer lo que en Java o c# se hace con a lo mucho 2 clases, y no se diga si usas forms hasta con 1, es una opinión, saludos
Jajaj, Si tienes razón, la verdad no hay herramienta perfecta, todos tienen sus pros y contras.
Hola. Eso depende del gusto o metodología que quiera el programador. Yo lo puedo hacer a mi propio gusto de una manera más simplificada. Lo que recomienda el colega del video es sencillamente una forma de lograrlo. También puede que utilices otras librerías y otras no.
Alguien que pueda ayudarme, me da este error ModuleNotFoundError: No module named 'util', ejecute el que se descarga de github y me sale el mismo error
Que tal, perdón por al demora, tu error por lo que veo es muy probable que no ejecutaras el modulo main.py como principal y en su caso corriste otro modulo, sospecho form_login.py. Nota "Para que el proyecto completo funcione se debe arrancar de un modulo principal"
Hola AutoditactaMx,
tengo un error en la parte de la importacion de del PIL no se a que se debe si todo esta bien
PS C:\xampp\htdocs\Project-VL> & C:/Users/josem/python.exe c:/xampp/htdocs/Project-VL/Prueba2/util/generic.py
Traceback (most recent call last):
File "c:\xampp\htdocs\Project-VL\Prueba2\util\generic.py", line 1, in
from PIL import ImageTk, Image
ModuleNotFoundError: No module named 'PIL'
El mensaje de error que muestras al parecer te falta instalar Pillow ( pip install pillow ) podrías instalarlo y volver a intentar. Una ves que lo instalan revisen con el comando pip freeze si cuentan con el paquee te Pillow==x.x.x. Dependiendo como instalaron el manejador de paquetes usen pip o pip3 de acuerdo su necesidad.
Esa parte de Pillow se ocupara para el manejo de las imágenes , me confirmas que instalaras el paquete pip install pillow
Se requiere instalar el paquete pip install pillow
hola buen dia me sale este error me ayuda?
Traceback (most recent call last):
File "c:\Users\user\OneDrive\Documentos\Python Programa\main.py", line 1, in
from forms.form_master import MasterPanel
File "c:\Users\user\OneDrive\Documentos\Python Programa\forms\form_master.py", line 3, in
from util.generic import utl
ImportError: cannot import name 'utl' from 'util.generic' (c:\Users\user\OneDrive\Documentos\Python Programa\util\generic.py) que solucion le da :c
Acabo de escribir el readme donde se indica como abrir el proyecto y que archivo ejecutar, Me apoyas por favor en seguir los pasos. Si aun te falla podemos revisar. github.com/AutodidactaMx/Code-General-Python/blob/main/GUI%20Login/README.md
@@autodidacta-mx grax
Se puede hacer este tipo de login con acceso a sql server?
En la segunda parte se usa sqlalchemy al ser u orm solo debes colocar la configuras de sql server, intentalo me cuentas
me da error en las 3 importaciones no se si falte instalar algo mas
Traceback (most recent call last):
File "c:\Users\USER\Documents\loginusuarios\main.py", line 1, in
from forms.form_master import MasterPanel
File "c:\Users\USER\Documents\loginusuarios\forms\form_master.py", line 3, in
import util.generic as utl
File "c:\Users\USER\Documents\loginusuarios\util\generic.py", line 1
import PIL import ImageTk, Image
^^^^^^
SyntaxError: invalid syntax
Pudiste solucionarlo?
@@ROGERIGNACIOCANTOSMAZA no intente varias formas como cambiar la relacion pero nada voy a buscar hacer otro proyecto mejor.
Por qué me sale error en import útil.generic as útil?
ME PODRIAS MOSTRAR EL ERROR QUE TE MARCA PARA DARTE ORIENTACION DE QUE SE TRATA.
@@autodidacta-mx PS C:\Users\DOPA\Desktop\python-course> & C:/Users/DOPA/AppData/Local/Programs/Python/Python310/python.exe c:/Users/DOPA/Desktop/python-course/main/forms/form_login.py
Traceback (most recent call last):
File "c:\Users\DOPA\Desktop\python-course\main\forms\form_login.py", line 4, in
import util.generic as utl
ModuleNotFoundError: No module named 'util'
Excelente vídeo, ¿Tienes pensado subir la segunda parte?.
Me sale el siguiente error:
File "c:\Users\User\Desktop\Programación\ProyectoPython\ProyectoDef\forms\form_master.py", line 4, in
import util.generic as utl
ModuleNotFoundError: No module named 'util'
Respondiendo la pregunta la siguiente semana subire la segunda parte donde es conectarlo con una base de datos y unas cuantas cositas extra.. Por parte de el error que sale lo que me dice es que no esta el modulo util, solo verifica que este y que también contenga el archivo __init__.py el cual convierte el folder en paquete.
@@autodidacta-mx Muchísimas gracias, era eso jeje, ¿De pronto hoy sale la segunda parte?
Acabo de subir la continuación de esta practica : ua-cam.com/video/V4zt_4hg7Yc/v-deo.html . lo de tu error solo me puedes apoyar indicándome si te salió ese mensaje cuando lo corriste el modulo main ?
@@autodidacta-mx y si no estan como se soluciona?
Excelente vídeo,
Me sale el siguiente error: login\util\generic.py", line 4, in leer_imagen
return ImageTk.PhotoImage(Image.open(path).resize(size, Image.ANTIALIAS))
^^^^^^^^^^^^^^^
AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'
Es posible por la version de pillow cambialo por Image.ADAPTIVE
@@autodidacta-mx es exactamente lo que ha pasado.
Hola muy buen proyecto, como lo podría implementar con MySQL ?
Edv. Knnnmm.
Svv. N
.
Ñp0
M
caballero tengo un error
Me indicas en que y te puedo apoyar
@@autodidacta-mx tiene red social para comunicarme con usted
mm no funciona asi que no sirve para nada
NO ESTA BIEN EXPLICADO, TRATA DE PASO A PASO, Y EL POR QUE DE LAS COSAS, MMGVO.
me da error la ventana de login
File "C:\Users\Trabajo\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 2044, in wm_geometry
return self.tk.call('wm', 'geometry', self._w, newGeometry)
_tkinter.TclError: bad geometry specifier "800 x 500 + 283 + 134"
Hola que tal error te aparece por que el método el método geometry no soporta que le manden espacios en su argumento “800 x 500 + 283 + 134" solo para verificar que eso sea el erro puedes apoyarme en quitar los espacios y en hardcode colocar en la función centrar_venta() del módulo generic retornar
return ventana.geometry (f"800x500+283+134"). Prueba si eso te quita el error. Te dejo un Link de imagen para que te apoyes en el cambio.
drive.google.com/file/d/1-cs3ZXGoBMqxt5WsBigYaEEKbXx-ak4v/view?usp=sharing
tengo error en la parte de from forms.master
ola corregiste el error?