Uma página de login simples é fácil de criar e é um ótimo lugar para começar a criar seu site ou aplicativo.
Existem mais de um bilhão de sites na internet. Para garantir que as contas dos usuários estejam seguras, muitos aplicativos da Web, desde serviços bancários on-line até mídias sociais, exigem uma página de login.
Aprenda a criar uma página de login simples usando o módulo Tkinter e familiarize-se com os conceitos básicos de construção de aplicativos GUI em Python.
O Módulo Tkinter
Você pode usar Tkinter para construir uma página de login que aceita e valida um nome de usuário e senha. O Tkinter oferece uma variedade de widgets como botões, rótulos e caixas de texto que facilitam o desenvolvimento de aplicativos. Alguns aplicativos que você pode desenvolver usando o Tkinter incluem um Aplicação de Tarefas, Reprodutor de música, a Aplicativo Pomodoro Timer, e um jogo de palavras cruzadas.
Para instalar o Tkinter, abra um terminal e execute:
pip instalar tkinter
Como construir uma página de login usando Python
Você pode encontrar o código-fonte para criar uma página de login usando Python neste Repositório GitHub.
Importe as bibliotecas necessárias e inicialize a janela raiz. Defina o título e o tamanho da janela. Usando o configurar() função, defina a cor de fundo.
importar tkinter
de tkinter importar caixa de mensagem
janela = tkinter. Tk()
janela.título("Página de login usando Python")
janela.geometria('750x550')
janela.configure (bg='#8F00FF')
Defina uma função, Conecte-se() que tomará a decisão principal com base nas credenciais do usuário. Esta demonstração simples codifica as credenciais válidas; um aplicativo real provavelmente os buscaria em um banco de dados.
Armazene as credenciais e use o pegar() método de cada widget Entry para recuperar os dados inseridos pelo usuário. De acordo com a validação dos dados, exiba uma caixa de mensagem com o título e mensagem apropriados.
defConecte-se():
nome de usuário = "fazer uso de"
senha = "muo"
se username_entry.get()==nome de usuário e password_entry.get()==senha:
messagebox.showinfo (title="Login com sucesso!", mensagem="Você se conectou com sucesso.")
outro:
messagebox.showerror (título="Erro", mensagem="Login inválido.")
Defina um quadro Tkinter para atuar como um pai e dê a ele uma cor de fundo.
quadro = tkinter. Moldura (bg='#8F00FF')
Defina três rótulos para login, nome de usuário e senha. Passe a janela pai na qual deseja colocar os rótulos, o texto que deve exibir, a cor de fundo, a cor da fonte e o estilo de fonte que deve ter.
login_label = tkinter. Rótulo (moldura, texto="Página de login usando Python", bg ='#000000', fg="#DC143C", fonte=("Arial", 30))
username_label = tkinter. Rótulo (moldura, texto="Nome de usuário", bg ='#8F00FF', fg="#FFFFFF", fonte=("Arial", 16, 'audacioso'))
password_label = tkinter. Rótulo (moldura, texto="Senha", bg ='#8F00FF', fg="#FFFFFF", fonte=("Arial", 16, 'audacioso'))
Defina dois widgets de entrada para obter os dados do usuário. Defina a janela pai na qual deseja colocá-la junto com os estilos de fonte. Use o mostrar atributo como um asterisco para ocultar a senha que o usuário digita na tela.
username_entry = tkinter. Entrada (moldura, fonte=("Arial", 16))
password_entry = tkinter. Entrada (quadro, mostrar="*", fonte=("Arial", 16))
Defina um botão para login que aceite a janela pai como o quadro que você definiu anteriormente, o texto deve exibir, a cor de fundo, a cor da fonte, o estilo da fonte e o comando que deve executar quando clicado.
login_button = tkinter. Botão (moldura, texto="Conecte-se", bg ="#DC143C", fg="#FFFFFF", fonte=("Arial", 16), comando=login)
Use o gerenciador de grade para colocar os três rótulos, duas entradas e um botão de login em um formato tabular organizado. A etiqueta de login funcionará como um cabeçalho e ocupará ambas as colunas. A opção sticky especifica em qual borda da célula o widget deve aderir. Ao passá-lo como notícias (nordeste-oeste-sul), o programa centraliza o texto tanto na direção horizontal quanto na vertical.
Coloque os rótulos do lado esquerdo, um abaixo do outro, e siga o mesmo para os widgets de entrada do lado direito. Semelhante ao cabeçalho, coloque o botão de login ocupando as duas colunas. Dê preenchimento apropriado na direção y para todos os widgets.
login_label.grid (linha=0, coluna=0, coluna de extensão =2, pegajoso="notícias", pady=40)
username_label.grid (linha=1, coluna=0)
username_entry.grid (linha=1, coluna=1, pady=20)
password_label.grid (linha=2, coluna=0)
password_entry.grid (linha=2, coluna=1, pady=20)
login_button.grid (linha=3, coluna=0, coluna de extensão =2, pady=30)
Use o pacote() para organizar todos os widgets em blocos e executar o loop de eventos do Tkinter e ouvir os eventos até fechar a janela.
frame.pack()
window.mainloop()
Junte todo o código e sua página de login está pronta para uso.
Saída de amostra do aplicativo da página de login
Ao executar o programa e inserir as credenciais válidas, o programa exibe uma caixa de mensagem informando que o usuário pode efetuar login com sucesso.
Ao rodar o programa com qualquer outra credencial, a caixa de mensagem apresenta um erro referente ao login como inválido.
Aprimorando uma página de login do Python
Você pode usar um banco de dados como o MySql para buscar os registros e validá-los com as credenciais do usuário. O mysql.connector A biblioteca ajuda você a estabelecer uma conexão entre seu aplicativo Python Tkinter e o banco de dados MySql.
Para UI aprimorada, você pode explorar o customtkinter módulo. É puramente construído no módulo Tkinter e ajuda você a criar widgets modernos totalmente personalizáveis que não estão disponíveis como parte da biblioteca Tkinter padrão. A combinação dessas duas bibliotecas ampliará suas habilidades de programação de GUI e será um ponto de partida para a criação de aplicativos mais sofisticados.