Caixas de Diálogo Nativas em Python: Alertas Simples com tkinter.messagebox
Caixas de Diálogo Nativas em Python: Alertas Simples com tkinter.messagebox
Exibir alertas e pedir confirmações ao usuário é fundamental para criar interfaces gráficas funcionais e evitar ações acidentais. Utilizando o módulo nativo
tkinter.messagebox, você consegue disparar caixas de diálogo e caixas de confirmação estilizadas diretamente pelo sistema operacional, sem a necessidade de instalar bibliotecas de terceiros.Python
import tkinter as tk
from tkinter import messagebox
def exibir_popups():
# Oculta a janela principal do Tkinter para exibir apenas os alertas
root = tk.Tk()
root.withdraw()
# 1. Pop-up de Aviso/Informação simples
messagebox.showinfo("Aviso de Sistema", "A operação foi concluída com sucesso!")
# 2. Pop-up de Confirmação (Retorna True se 'Sim' ou False se 'Não')
resposta = messagebox.askyesno("Confirmação", "Deseja realmente excluir este arquivo?")
if resposta:
print("Ação confirmada: O arquivo será excluído.")
else:
print("Ação cancelada pelo usuário.")
# Destrói a instância oculta para liberar memória
root.destroy()
# Exemplo prático de uso
if __name__ == "__main__":
exibir_popups()
Pontos-chave
- Ocultação da Janela Principal (
root.withdraw()): Por padrão, oTkintercria uma janela principal em branco ao ser inicializado. Executar o método.withdraw()oculta essa janela, deixando visível apenas a caixa de diálogo do pop-up. - Tipos de Pop-up Disponíveis: O módulo oferece métodos especializados para diferentes contextos, como
showinfo()(informação),showwarning()(alerta),showerror()(erro) easkyesno()ouaskokcancel()(confirmações). - Retorno Booleano: Funções de confirmação como
askyesno()retornam valores booleanos reais (TrueouFalse), facilitando a tomada de decisão em blocos condicionaisif/else. - Ambiente Linux sem GUI: Em servidores Linux sem interface gráfica (ambiente headless sem servidor X/Wayland), o script lançará um erro do tipo
TclError. O módulo exige um ambiente com suporte visual ativo.

Comentários
Postar um comentário