Olá a todos, sejam bem vindos de volta ao canal, sou João Futi, e continuando nosso tutorial no Tkinter, aqui faremos nosso quarto aplicativo que será a tela de login. E também desenvolveremos uma lógica simples para isso.
Este será um bom projeto para praticarmos o Tkinter e não apenas para praticarmos Python, construindo algo um pouco mais complexo.
Aqui está a funcionalidade do nosso projeto:
Em seguida, iniciaremos a construção do nosso projeto.
Começaremos construindo o design principal do aplicativo que será.
Crie um novo arquivo e comece importando o Tkinter dentro desse mesmo arquivo e crie uma janela simples conforme mostrado no código abaixo.
from tkinter import*
from tkinter import Tk, ttk
# cores -----------------------------
co0 = "#f0f3f5" # Preta
co1 = "#feffff" # branca
co2 = "#3fb5a3" # verde
co3 = "#38576b" # valor
co4 = "#403d3d" # letra
# criando janela --------------------
janela = Tk ()
janela.title ("")
janela.geometry('310x300')
janela.configure(background=co1)
janela.resizable(width=FALSE, height=FALSE)
janela.mainloop()
Agora vamos dividir nossa tela em dois quadros, então teremos o seguinte:
################# Frames ####################
frame_cima = Frame(janela,width=310, height=50,bg=co1, relief="flat")
frame_cima.grid(row=0, column=0,pady=1, padx=0, sticky=NSEW)
frame_baixo = Frame(janela,width=310, height=300,bg=co1, relief="flat")
frame_baixo.grid(row=1, column=0,pady=1, padx=0, sticky=NSEW)
Agora vamos criar alguns rótulos e entrada dentro do quadro superior que definirá o nome do aplicativo e também uma linha para estilizar nossa tela, então teremos o seguinte:
# configurando frame_cima
l_nome = Label(frame_cima, text="LOGIN", height=1,anchor=NE, font=('Ivy 25 '), bg=co1, fg=co4)
l_nome.place(x=5, y=5)
l_linha = Label(frame_cima,width=275, text="", height=1,anchor=NW, font=('Ivy 1 '), bg=co2)
l_linha.place(x=10, y=45)
Agora vamos criar também alguns rótulos e entradas dentro do frame inferior, que vão receber o nome e a senha que o usuário vai inserir, assim como o botão, então teremos o seguinte:
# configurando frame_baixo ---------------------------
l_nome = Label(frame_baixo, text="Nome *", height=1,anchor=NW, font=('Ivy 10 bold'), bg=co1, fg=co4)
l_nome.place(x=10, y=20)
e_nome = Entry(frame_baixo, width=25, justify='left',font=("",15),highlightthickness=1, relief="solid")
e_nome.place(x=14, y=50)
l_pass = Label(frame_baixo, text="password *", height=1,anchor=NW, font=('Ivy 10 bold'), bg=co1, fg=co4)
l_pass.place(x=10, y=95)
e_pass = Entry(frame_baixo,show='*',width=25, justify='left',font=("",15),highlightthickness=1,relief="solid")
e_pass.place(x=15, y=130)
botao_confirmar = Button(frame_baixo, text="Entrar", width=39, height=2, bg=co2, fg=co1, font=('Ivy 8 bold'), relief=RAISED, overrelief=RIDGE)
botao_confirmar.place(x=15, y=180)
Agora iremos criar uma função que irá verificar ou melhor onde teremos a lógica do nosso programa.
def verificar_senha():
nome = e_nome.get()
senha = str(e_pass.get())
if nome=='admin' and senha=='admin':
messagebox.showinfo('Login',' Seja bem vindo Admin !!!')
# verificando os dados para permitir o login do usuario
elif credenciais[0] == nome and credenciais[1] == senha:
messagebox.showinfo('Login',' Seja bem vindo de volta '+credenciais[0])
else:
messagebox.showwarning('Erro', 'Verifique o nome de usuario ou a palavra passe')
Agora vamos conectar esta função com o botão Enter, então temos o seguinte:
botao_confirmar = Button(frame_baixo, command=verificar_senha, text="Entrar", width=39, height=2, bg=co2, fg=co1, font=('Ivy 8 bold'), relief=RAISED, overrelief=RIDGE)
botao_confirmar.place(x=15, y=180)
Agora que nosso aplicativo está funcional, vamos criar mais uma nova função e nesta função vamos criar novos rótulos que serão apresentados no quadro inferior e superior.
def nova_janela():
l_nome = Label(frame_cima, text="Usuario: " + credenciais[0], height=1,anchor=NE, font=('Ivy 20 '), bg=co1, fg=co4)
l_nome.place(x=5, y=5)
l_linha = Label(frame_cima,width=275, text="", height=1,anchor=NW, font=('Ivy 1 '), bg=co2)
l_linha.place(x=10, y=45)
l_nome = Label(frame_baixo, text="Seja bem vindo " + credenciais[0], height=1,anchor=NE, font=('Ivy 15 '), bg=co1, fg=co4)
l_nome.place(x=5, y=105)
E, finalmente, a função de verificação será semelhante a esta:
def verificar_senha():
nome = e_nome.get()
senha = str(e_pass.get())
if nome=='admin' and senha=='admin':
messagebox.showinfo('Login',' Seja bem vindo Admin !!!')
# verificando os dados para permitir o login do usuario
elif credenciais[0] == nome and credenciais[1] == senha:
messagebox.showinfo('Login',' Seja bem vindo de volta '+credenciais[0])
# apagar o que tiver no frame baixo e cima
for widget in frame_baixo.winfo_children():
widget.destroy()
for widget in frame_cima.winfo_children():
widget.destroy()
# chamr nova janela
nova_janela()
else:
messagebox.showwarning('Erro', 'Verifique o nome de usuario ou a palavra passe')
Ok, chegamos ao final de nosso tutorial, você pode aumentar novos recursos no aplicativo, bem como reutilizá-los para seus projetos, e não se esqueça que o que estamos fazendo serve principalmente para nos deixar confortáveis trabalhando com Python , e também serve para nos familiarizarmos com os processos de criação de software.
Ficaremos aqui por hoje, eu sou o João e esse é o anal usando Python, vejo vocês no próximo vídeo, fui.
0 Comentários