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ção | Descrição |
|---|---|
showinfo | Exibe mensagem informativa |
showwarning | Exibe aviso |
showerror | Exibe mensagem de erro |
askquestion | Pergunta (retorna ‘yes’ ou ‘no’) |
askokcancel | Pergunta OK/Cancelar (retorna True/False) |
askyesno | Pergunta Sim/Não (retorna True/False) |
askretrycancel | Pergunta Tentar Novamente/Cancelar |
askyesnocancel | Sim/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ção | Descrição |
|---|---|
askstring | Solicita uma string |
askinteger | Solicita um número inteiro |
askfloat | Solicita 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ção | Descrição |
|---|---|
askopenfilename | Selecionar um arquivo para abrir |
askopenfilenames | Selecionar vários arquivos |
asksaveasfilename | Selecionar arquivo para salvar |
askdirectory | Selecionar 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.
