Caixa de mensagens Tkinter

Resumo : neste tutorial você aprenderá como mostrar diversas caixas de mensagens usando o tkinter.messageboxmódulo.

Introdução ao módulo tkinter.messagebox

Ao desenvolver um aplicativo Tkinter, muitas vezes você deseja notificar os usuários sobre os eventos que ocorreram.

Por exemplo, quando os usuários clicam no botão salvar , você deseja notificá-los de que o registro foi salvo com sucesso.

Se ocorrer um erro, por exemplo, o servidor de banco de dados não estiver acessível, você poderá notificar os usuários sobre o erro.

Quando a atualização for concluída, mas o registro já existir, você poderá mostrar um aviso.

Para cobrir todos esses cenários, você pode usar várias funções do tkinter.messageboxmódulo:

  • showinfo()– notificar que uma operação foi concluída com sucesso.
  • showerror()– notificar que uma operação não foi concluída devido a um erro.
  • showwarrning()– notificar que uma operação foi concluída, mas algo não se comportou conforme o esperado.

Todas essas funções aceitam dois argumentos:

showinfo(title, message)
showerror(title, message)
showwarrning(title, message)Linguagem de código:  Python  ( python )
  • O titleé exibido na barra de título da caixa de diálogo.
  • O messageé mostrado na caixa de diálogo.

Para abranger várias linhas da mensagem, você pode adicionar o caractere de nova linha '\n'.

Exemplos de caixas de mensagens Tkinter

O programa a seguir consiste em três botões. Ao clicar em um botão, a caixa de mensagem correspondente será exibida.

import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showerror, showwarning, showinfo

# create the root window
root = tk.Tk()
root.title('Tkinter MessageBox')
root.resizable(False, False)
root.geometry('300x150')

#
options = {'fill': 'both', 'padx': 10, 'pady': 10, 'ipadx': 5}

ttk.Button(
    root,
    text='Show an error message',
    command=lambda: showerror(
        title='Error',
        message='This is an error message.')
).pack(**options)

ttk.Button(
    root,
    text='Show an information message',
    command=lambda: showinfo(
        title='Information',
        message='This is an information message.')
).pack(**options)


ttk.Button(
    root,
    text='Show an warning message',
    command=lambda: showwarning(
        title='Warning',
        message='This is a warning message.')
).pack(**options)


# run the app
root.mainloop()
Linguagem de código:  Python  ( python )

Como funciona.

Primeiro, importe os módulos tkinter, tkinter.ttke :tkinter.messagebox

import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showerror, showwarning, showinfo
Linguagem de código:  Python  ( python )

Segundo, crie a janela raiz e inicialize suas propriedades:

# create the root window
root = tk.Tk()
root.title('Tkinter MessageBox')
root.resizable(False, False)
root.geometry('300x150')
Linguagem de código:  Python  ( python )

Terceiro, crie três botões e atribua uma expressão lambda à commandopção de cada botão. Cada expressão lambda mostra uma caixa de mensagem correspondente.

ttk.Button(
    root,
    text='Show an error message',
    command=lambda: showerror(
        title='Error',
        message='This is an error message.')
).pack(**options)

ttk.Button(
    root,
    text='Show an information message',
    command=lambda: showinfo(
        title='Information',
        message='This is an information message.')
).pack(**options)


ttk.Button(
    root,
    text='Show an warning message',
    command=lambda: showwarning(
        title='Warning',
        message='This is a warning message.')
).pack(**options)
Linguagem de código:  Python  ( python )

Finalmente, exiba a janela raiz.

root.mainloop()    Linguagem de código:  Python  ( python )

Resumo

  • Use as funções showinfo(), showerror(), showwarrning()do tkinter.messageboxmódulo para mostrar uma mensagem de informação, erro e aviso.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *