Una página de inicio de sesión simple es fácil de crear y es un excelente lugar para comenzar a crear su sitio web o aplicación.

Hay más de mil millones de sitios web en Internet. Para garantizar que las cuentas de los usuarios estén seguras, muchas aplicaciones web, desde la banca en línea hasta las redes sociales, requieren una página de inicio de sesión.

Aprenda a crear una página de inicio de sesión simple con el módulo Tkinter y familiarícese con los conceptos básicos de la creación de aplicaciones GUI en Python.

El Módulo Tkinter

Puede usar Tkinter para crear una página de inicio de sesión que acepte y valide un nombre de usuario y una contraseña. Tkinter ofrece una variedad de widgets como botones, etiquetas y cuadros de texto que facilitan el desarrollo de aplicaciones. Algunas aplicaciones que puede desarrollar usando Tkinter incluyen un Aplicación de tareas pendientes, Reproductor de música, a Aplicación de temporizador Pomodoro, y un Juego de revoltijo de palabras.

Para instalar Tkinter, abre una terminal y ejecuta:

instagram viewer
pip instalar tkinter

Cómo construir una página de inicio de sesión usando Python

Puede encontrar el código fuente para crear una página de inicio de sesión usando Python en este repositorio GitHub.

Importe las bibliotecas requeridas e inicialice la ventana raíz. Establezca el título y el tamaño de la ventana. Utilizando el configurar() función, establezca el color de fondo.

importar tkinter
de tkinter importar buzon de mensaje
ventana = tkinter. Tk()
ventana.titulo("Página de inicio de sesión usando Python")
ventana.geometría('750x550')
ventana.configure (bg='#8F00FF')

Definir una función, acceso() que tomará la decisión clave en función de las credenciales del usuario. Esta demostración simple codifica las credenciales válidas; una aplicación real probablemente los buscaría en una base de datos.

Guarde las credenciales y utilice el conseguir() de cada widget de Entrada para recuperar los datos que el usuario ingresó. De acuerdo con la validación de datos, muestre un cuadro de mensaje con el título y el mensaje adecuados.

definitivamenteacceso():
nombre de usuario = "hacer uso de"
contraseña = "muo"

si username_entry.get()==nombre de usuario y contraseña_entrada.get()==contraseña:
cuadromensaje.showinfo (título="¡Inicio de sesión correcto!", mensaje="Has iniciado sesión correctamente".)
demás:
cuadro de mensaje.showerror (título="Error", mensaje="Ingreso invalido.")

Defina un marco Tkinter para que actúe como padre y asígnele un color de fondo.

marco = tkinter. Marco (bg='#8F00FF')

Defina tres etiquetas para inicio de sesión, nombre de usuario y contraseña. Pase la ventana principal en la que desea colocar las etiquetas, el texto que debe mostrar, el color de fondo, el color de fuente y el estilo de fuente que debe tener.

login_label = tkinter. Etiqueta (marco, texto="Página de inicio de sesión usando Python", bg='#000000', fg="#DC143C", fuente=("arial", 30))
nombre_usuario_etiqueta = tkinter. Etiqueta (marco, texto="Nombre de usuario", bg='#8F00FF', fg="#FFFFFF", fuente=("arial", 16, 'atrevido'))
contraseña_etiqueta = tkinter. Etiqueta (marco, texto="Contraseña", bg='#8F00FF', fg="#FFFFFF", fuente=("arial", 16, 'atrevido'))

Defina dos widgets de entrada para obtener los datos del usuario. Configure la ventana principal en la que desea colocarla junto con los estilos de fuente. Utilizar el espectáculo atributo como un asterisco para ocultar la contraseña que el usuario escribe en la pantalla.

nombre_usuario_entrada = tkinter. Entrada (marco, fuente=("arial", 16))
entrada_contraseña = tkinter. Entrada (marco, mostrar="*", fuente=("arial", 16))

Defina un botón para iniciar sesión que acepte la ventana principal como el marco que definió anteriormente, el texto que debe mostrar, el color de fondo, el color de fuente, el estilo de fuente y el comando que debe ejecutar cuando hizo clic

botón_iniciar sesión = tkinter. Botón (marco, texto="Acceso", bg="#DC143C", fg="#FFFFFF", fuente=("arial", 16), comando=iniciar sesión)

Utilice el administrador de cuadrícula para colocar las tres etiquetas, dos entradas y un botón de inicio de sesión en un formato tabular organizado. La etiqueta de inicio de sesión actuará como encabezado y ocupará ambas columnas. La opción adhesiva especifica a qué borde de la celda debe adherirse el widget. Al pasarlo como noticias (norte-este-oeste-sur), el programa centra el texto tanto en dirección horizontal como vertical.

Coloque las etiquetas en el lado izquierdo, una debajo de la otra, y siga lo mismo para los widgets de entrada en el lado derecho. Similar al encabezado, coloque el botón de inicio de sesión ocupando ambas columnas. Proporcione el relleno adecuado en la dirección y a todos los widgets.

login_label.grid (fila=0, columna=0, columna=2, pegajoso="noticias", pady=40)
nombre_usuario_etiqueta.grid (fila=1, columna=0)
nombre_usuario_entrada.grid (fila=1, columna=1, pady=20)
etiqueta_contraseña.grid (fila=2, columna=0)
entrada_contraseña.grid (fila=2, columna=1, pady=20)
login_button.grid (fila=3, columna=0, columna=2, pady=30)

Utilizar el embalar() para organizar todos los widgets en bloques y ejecutar el ciclo de eventos de Tkinter y escuchar eventos hasta que cierre la ventana.

cuadro.paquete()
ventana.mainloop()

Reúna todo el código y su página de inicio de sesión estará lista para usar.

Salida de muestra de la aplicación de la página de inicio de sesión

Al ejecutar el programa e ingresar las credenciales válidas, el programa muestra un cuadro de mensaje que indica que el usuario puede iniciar sesión correctamente.

Al ejecutar el programa con cualquier otra credencial, el cuadro de mensaje muestra un error con respecto al inicio de sesión como no válido.

Mejorar una página de inicio de sesión de Python

Puede usar una base de datos como MySql para obtener los registros y validarlos con las credenciales del usuario. El mysql.conector La biblioteca lo ayuda a establecer una conexión entre su aplicación Python Tkinter y la base de datos MySql.

Para una interfaz de usuario mejorada, puede explorar la customtkinter módulo. Se basa exclusivamente en el módulo Tkinter y lo ayuda a crear widgets modernos totalmente personalizables que no están disponibles como parte de la biblioteca estándar de Tkinter. La combinación de estas dos bibliotecas amplificará sus habilidades de programación de GUI y se establecerá como un trampolín para crear aplicaciones más sofisticadas.