sábado, 8 de octubre de 2011

MANEJO DE CAJAS DE TEXTO

Realizaremos un paréntesis con el desarrollo de nuestra calculadora ya que me parece importante comprender el alcance y el manejo de los otros widgets disponibles en el modulo tkinter de python3.

A continuación mostraremos una aplicación que combina el manejo botones, label, mensajes y cajas de texto, la cual consiste en capturar un usuario y una contraseña y compararla con datos configurados dentro del codigo, es una pequeña aplicación de autenticacion.
Aclaro que una aplicación de este tipo debe ser mas robusta para que ofrezca seguridad, sin embargo el objetivo de mostrar esta aplicación es con el objetivo de entender el manejo de los widget.

La interfaz de la aplicación queda de esta manera:
como se observa se utilizaron 2 cajas de texto, 2 label para indicar los campos y dos botones. Se debe llenar los campos correspondientes, si los datos son correctos sale un mensaje que dice bien, de lo contrario el mensaje dice mal, tal como se muestra a continuación:
El usuario y la contraseña correctas son usuario: hola y contraseña: mundo, dentro de las opciones para configurar la caja de texto esta encriptar los datos para que no se puedan visualizar, lo que nos ahorra unas lineas de código.

A continuación el código fuente :

import tkinter
from tkinter import *
tk = tkinter.Tk()

def verificar(): #esta función verifica que este correcto usuario y contraseña digitado por el usuario

a=usuario.get()#get es el metodo utilizado para capturar los datos de la caja de texto
b=contraseña.get()
if a=='hola' and b=='mundo':  #en esta linea se fija el usuario y la contraseña deseadas
top = tkinter.Tk()
frame2 = tkinter.Message(top, relief=RAISED, text='bien', width=5)
frame2.pack()
else:
top = tkinter.Tk()
frame3 = tkinter.Message(top, relief=RAISED, text='mal', width=5)
frame3.pack()



frame = tkinter.Frame(tk, relief=GROOVE, bd=2, height=100, width=300, bg='blue')
frame.pack(fill=BOTH,expand=20)
label = tkinter.Label(frame, font='Arial', bg='white', text="Usuario")
label.place(bordermode=OUTSIDE, height=20, width=100, y=10)
label2 = tkinter.Label(frame, font='Arial', bg='white', text="Contraseña")
label2.place(bordermode=OUTSIDE, height=20, width=100, y=40)
usuario=tkinter.Entry(frame, font='times')
usuario.place(bordermode=OUTSIDE, height=20, width=200, x=100, y=10)
contraseña=tkinter.Entry(frame, font='times', show='*') #se escoge encriptar con * la contraseña
contraseña.place(bordermode=OUTSIDE, height=20, width=200, x=100, y=40)
button0 = tkinter.Button(frame,text="Aceptar", command=verificar)
button0.place(bordermode=OUTSIDE, height=40, width=100, y=70)
button1 = tkinter.Button(frame,text="Cancelar", command=tk.destroy)#el método destroy cierra el frame
button1.place(bordermode=OUTSIDE, height=40, width=100, x=80, y=70)
tk.mainloop()

No hay comentarios:

Publicar un comentario