Múltiplas Janelas no Tkinter – Várias Janelas no Python
Quer aprender como criar múltiplas janelas no Tkinter para ter várias janelas no Python e deixar seu código ainda mais bonito?
Para criar múltiplas janelas no Tkinter, use a classe Toplevel: a janela principal é o Tk() e cada nova janela é um Toplevel() criado a partir dela. Você pode abrir as janelas por botões, passar dados entre elas e controlar quando cada uma aparece ou fecha, organizando melhor a interface do programa.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Múltiplas Janelas no Tkinter
Você já deve ter ouvido falar de interface gráfica no Python aqui no blog não é mesmo? Mas a ideia hoje é te mostrar como criar janelas no Python com o tkinter.
Nós já te mostramos como criar uma janela no Python, mas algumas vezes você precisa criar mais de uma janela para o seu projeto.
Como Criar Janelas no Python
Essa é uma aula mais rápida e direta ao ponto para te mostrar como criar janela no Python com tkinter para seus projetos que necessitam de mais de uma janela.
Então ao abrir o seu sistema talvez precise de uma segunda janela para cadastro de clientes, para consultas, entre outras atividades. Para fazer isso é claro que vamos precisar da biblioteca tkinter.
import tkinter as tk
def abrir_janela():
janela2 = tk.Toplevel()
janela2.title('janela nova')
label_nome = tk.Label(janela2, text = "Nome")
label_nome.grid(row = 0, column = 0 )
botao_voltar = tk.Button(janela2, text = 'Fechar a janela2', command = janela2.destroy)
botao_volta.grid(row = 1, column = 0)
janela = tk.Tk()
botao = tk.Button(janela, text = 'Ir para nova janela', command = abrir_janela)
botao.grid(row = 0, column = 0)
janela.mainloop()O código para a criação de uma segunda ou mais janelas será utilizando o tk.Toplevel(), as demais configurações vamos fazer normalmente como foi feito para a sua primeira.
Outro código bem interessante para utilizar é o .destroy, onde nós criamos um botão na segunda janela que tem a função de “destruir” essa janela, então esse botão é responsável por fechar a janela.

Aqui nós temos a janela principal, onde temos um botão para criar a segunda janela, mas que no seu caso pode ser para abrir uma janela de cadastro, de verificação ou qualquer outra atividade que precise.
Em seguida podemos criar um botão nessa nova janela para poder fechá-la, assim você não fica com ela aberta depois de utilizá-la!
Essa é uma aula simples, mas é só para te mostrar como você pode utilizar o tk.Toplevel() para criar múltiplas janelas no tkinter.
Conclusão – Múltiplas Janelas no Tkinter
Nessa aula eu te mostrei como você pode criar múltiplas janelas no tkinter para melhorar o seu projeto e não deixar todas as informações em uma única janela.
Caso tenha interesse em ver mais sobre o tkinter temos outras postagens aqui no blog que podem te auxiliar:
- Ferramenta de Cadastro no Python (cadastro de materiais)
- Ferramenta de Cadastro no Python – Parte 2 (com pandas)
- Cadastro de Clientes no Python
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
1. Como criar uma segunda janela no Tkinter?
Use a classe Toplevel: crie uma janela com janela2 = Toplevel(janela_principal). Ela funciona como uma nova janela independente, geralmente aberta a partir de um botão na janela principal.
2. Qual a diferença entre Tk() e Toplevel() no Tkinter?
O Tk() cria a janela principal da aplicação (só deve existir uma); o Toplevel() cria janelas adicionais ligadas a ela. Use Tk() uma vez e Toplevel() para cada janela extra.
3. Como passar dados entre janelas no Tkinter?
Você pode compartilhar variáveis e widgets passando-os como argumentos ao criar a nova janela, ou usar uma classe para guardar o estado comum. Variáveis do Tkinter (StringVar, IntVar) facilitam manter os dados sincronizados.
4. Como fechar apenas uma janela no Tkinter?
Use o método destroy() na janela específica (por exemplo, janela2.destroy()). Isso fecha apenas aquela janela; usar destroy() na janela principal encerra todo o programa.


