Sistema de Login com CustomTkinter – Janelas Bonitas no Python
Hoje eu vou te mostrar como criar um sistema de login com CustomTkinter no Python! Conheça e compare as ferramentas!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: O CustomTkinter é o Tkinter com visual moderno, mesma estrutura, só com CTk na frente dos componentes. O instrutor monta a tela de login criando janela, definindo geometry, e acrescentando CTkLabel, CTkEntry (com placeholder e show para mascarar a senha), CTkButton e CTkCheckBox, cada um seguido de .pack().
Neste vídeo (15 min):
- 1:00 - Começa pelo Tkinter puro porque a lógica é a mesma:
import tkinter, janela comTk()emainloop()no fim para a janela ficar aberta. - 2:00 -
geometry("500x300")define o tamanho da janela. - 2:30 - O padrão de todo componente: criar o elemento e depois chamar
.pack()para colocá-lo na janela. - 3:00 - Em
pack(), padx e pady dão o espaçamento em relação aos elementos vizinhos. - 4:00 - Vale sempre passar a janela como primeiro parâmetro do componente, é isso que define onde ele será exibido quando houver mais de uma janela ou subdivisão.
- 4:30 - Botão com ação: cria-se uma função e passa-se o parâmetro
commandapontando para ela. - 5:30 - Instalar o novo:
pip install customtkinter, ele não vem com o Python. - 6:00 - A conversão é mecânica:
CTk()no lugar deTk(),CTkLabel,CTkButton,CTkEntry, mesmos parâmetros. - 9:00 - Campo de entrada:
CTkEntrycom placeholder_text para o texto de orientação (“seu e-mail”). - 10:00 - Campo de senha: o parâmetro
show="*"troca o que aparece na tela por asteriscos. - 11:00 - Tema escuro:
set_appearance_mode("dark")eset_default_color_theme("dark-blue"), antes de criar a janela. - 13:00 - Fechando a tela:
CTkCheckBoxpara a caixa de “lembrar login”, no mesmo padrão dos demais.
Trechos do vídeo:
- A razão de a aula começar pelo Tkinter feio: o CustomTkinter “nada mais é do que um Tkinter, só que mais bonito”, quem já sabe posicionar componente com pack não precisa reaprender nada.
- Atenção à grafia dos componentes: é CTk com T maiúsculo e k minúsculo (CTkEntry, CTkLabel), errar a caixa das letras é o tropeço mais comum na conversão.
- Os nomes de tema e demais parâmetros saem da documentação do próprio CustomTkinter, no repositório do projeto, é lá que estão as opções de aparência e de cor.
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala Impressionadores! Você já criou um código em Python, mas ficou faltando aquela janela no Python para deixar tudo mais bonito e mais visual?
O CustomTkinter é uma biblioteca Python que moderniza o visual do Tkinter, com botões, campos e temas (claro/escuro) mais bonitos. Para criar uma tela de login, instale com pip install customtkinter, monte a janela com CTk() e adicione campos CTkEntry (usando show="*" na senha) e um botão CTkButton que valida os dados informados.
Já temos um vídeo aqui no canal sobre Tkinter, mas hoje eu quero te mostrar como usar o CustomTkinter para construir janelas ainda mais visuais e mais bonitas para os seus projetos.
Você vai notar que diferente do Tkinter, o CustomTkinter é muito mais visual e fica muito mais bonito, então você pode dar uma cara nova aos seus projetos!
Vamos começar mostrando como fazer essa construção no Tkinter de uma forma mais resumida e no final podemos comparar os resultados com o CustomTkinter!
Para isso vamos importar o Tkinter e criar a janela com o código abaixo:

Neste código estamos definindo o tamanho da tela, o texto, o botão e distância entre os elementos.
O resultado deste código é esta janela:

Usando a mesma estrutura de código com pequenas alterações, qual resultado o CustomTkinter pode nos dar?
Antes precisamos instalar CustomTkinter e para isso vamos rodar >pip install CustomTkinter no terminal que você estiver trabalhando para instalar ou se estiver no Jupyter rodar !pip install CustomTkinter.
Feito isso, vamos criar nossa janela como fizemos antes, vamos usar o CTk() para a criação da janela.
Definir seu tamanho, frase mostrada, distância entre os elementos, local para E-mail e senha.
A senha pode ser mostrada somente em formato de asteriscos usando o show=”*” no código da senha como mostra a imagem abaixo.
Para completar, vamos também trocar a cor da nossa janela.
Resultado do código:

Mas, de onde retiramos todos esses comando para definir o estilo da nossa janela?
Podemos entrar no próprio site do CustomTkinter e conseguir lá as informação de códigos para estilizar a nossa tabela!
Obs.: É sempre importante ler a documentação das bibliotecas, pois é lá que você vai encontrar todas as informações que precisa para saber como ela funciona e o que você consegue fazer com ela.

Exemplo: Informação sobre a formatação de cor no site:

Outra opção é ir ao site GitHub, onde temos inclusive janelas robustas como exemplo, veja esta!

Observe que o código que usamos é parecido, mas o resultado é nitidamente diferente:

Perguntas frequentes sobre login com CustomTkinter
1. O que é o CustomTkinter?
É uma biblioteca Python baseada no Tkinter que oferece componentes de interface mais modernos, com cantos arredondados, temas claro e escuro e melhor aparência. Serve para criar janelas e aplicativos desktop visualmente mais agradáveis.
2. Como instalar o CustomTkinter?
Use o gerenciador de pacotes do Python: no terminal, execute pip install customtkinter. Depois, importe a biblioteca no seu código com import customtkinter as ctk para começar a criar as janelas.
3. Como criar uma tela de login com CustomTkinter?
Crie a janela com CTk(), adicione dois campos CTkEntry (usuário e senha, com show="*" na senha) e um CTkButton. No comando do botão, associe uma função que compara os dados digitados com os valores esperados e libera ou nega o acesso.
4. Qual a diferença entre CustomTkinter e Tkinter?
O Tkinter é a biblioteca padrão de interfaces do Python, com visual mais antigo. O CustomTkinter é construído sobre ele e melhora a aparência dos componentes, sem exigir que você reaprenda a lógica: a estrutura do código é bem parecida.
5. Como esconder a senha no campo do CustomTkinter?
Ao criar o campo de senha com CTkEntry, use o parâmetro show="*". Assim, cada caractere digitado aparece como um asterisco, mantendo a senha oculta na tela, como é esperado em uma tela de login.
6. Preciso saber Tkinter antes de usar o CustomTkinter?
Ajuda, mas não é obrigatório. Como o CustomTkinter segue a mesma lógica do Tkinter, quem já conhece se adapta rápido. Iniciantes também conseguem aprender direto pelo CustomTkinter, seguindo exemplos de janelas e campos.
Conclusão - Sistema de Login com CustomTkinter
O objetivo desta aula foi mostrar a diferença de estilo e as possibilidades que o CTk nos dá na criação de janelas mais bonitas e estilizadas.
Observe que criar uma janela usando o CTk é muito parecido com o que já fazemos no Python com o TK, porém, já deu para perceber que o CTk é um programa super personalizável, com janelas mais complexas.
Ele tem a facilidade de ser muito semelhante com o próprio tkinter que já vem instalado no Python, mas você consegue obter um resultado muito mais bonito!
Você pode testar os dois para ver o que mais te agrada e claro, pode fazer diversos testes e comparações entre eles!
Além disso, pode dar uma olhada na documentação dos dois, pois pode ser que você precise de um recurso específico ou que em em um deles seja mais fácil fazer o que precisa!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!


