Resumo : neste tutorial você aprenderá como mostrar diversas caixas de mensagens usando o tkinter.messagebox
mó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.messagebox
mó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.ttk
e :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 à command
opçã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()
dotkinter.messagebox
módulo para mostrar uma mensagem de informação, erro e aviso.