Caixas de diálogo

O Python Tkinter oferece diversos tipos de caixas de diálogo (dialogs) prontas para facilitar a interação do utilizador com programas gráficos em Python. Elas servem para mostrar mensagens, pedir confirmação, solicitar entradas ou selecionar ficheiros e pastas.

Principais tipos de caixas de diálogo

  • Caixas de mensagem: Informam, alertam ou exibem erros.
  • Caixas de entrada: Solicitam ao utilizador que digite algum valor.
  • Caixas de seleção de arquivos/pastas: Permitem escolher ficheiros ou diretórios do sistema.
  • Caixas de confirmação: Pedem ao utilizador para confirmar ou cancelar ações.

Exemplos de uso

1. Caixas de mensagem (tkinter.messagebox)

As funções mais comuns são:

FunçãoDescrição
showinfoExibe mensagem informativa
showwarningExibe aviso
showerrorExibe mensagem de erro
askquestionPergunta (retorna ‘yes’ ou ‘no’)
askokcancelPergunta OK/Cancelar (retorna True/False)
askyesnoPergunta Sim/Não (retorna True/False)
askretrycancelPergunta Tentar Novamente/Cancelar
askyesnocancelSim/Não/Cancelar (True/False/None)

Exemplo:

pythonfrom tkinter import messagebox
messagebox.showinfo("Título", "Mensagem informativa")

2. Caixas de entrada (tkinter.simpledialog)

Permitem solicitar dados do utilizador, como texto, número inteiro ou float:

FunçãoDescrição
askstringSolicita uma string
askintegerSolicita um número inteiro
askfloatSolicita um número decimal

Exemplo:

pythonfrom tkinter import simpledialog
nome = simpledialog.askstring("Nome", "Digite seu nome:")

3. Caixas de seleção de ficheiros e pastas (tkinter.filedialog)

Permitem ao utilizador escolher ficheiros ou diretórios:

FunçãoDescrição
askopenfilenameSelecionar um arquivo para abrir
askopenfilenamesSelecionar vários arquivos
asksaveasfilenameSelecionar arquivo para salvar
askdirectorySelecionar uma pasta

Exemplo:

pythonfrom tkinter.filedialog import askopenfilename
arquivo = askopenfilename(title="Selecione um arquivo")

4. Caixas de diálogo personalizadas

Para casos mais avançados, pode criar as suas próprias caixas de diálogo usando tkinter.Toplevel ou a classe base simpledialog.Dialog, montando a interface conforme a necessidade.

Resumo

Tkinter facilita a criação de caixas de diálogo prontas para:

  • Exibir mensagens e alertas (messagebox)
  • Coletar dados do utilizador (simpledialog)
  • Seleção de ficheiros e pastas (filedialog)
  • Confirmações rápidas de ações

Essas caixas são modais, ou seja, o programa aguarda a resposta do utilizador antes de continuar.

Dica: Sempre importe os módulos necessários (messagebox, simpledialog, filedialog) do tkinter para utilizar essas funcionalidades.