Tkinter Tutorial - Caixa de Mensagens

  1. Caixa de Mensagem de Tkinter
  2. Exemplo de caixa de mensagens Tkinter
  3. Exemplo de caixa de mensagens Tkinter na GUI

A caixa de mensagens do Tkinter é o pop-up que aparece na tela para lhe dar informações em texto simples ou fazer ao usuário uma pergunta como Are you sure to quit? Yes or No?.

Caixa de Mensagem de Tkinter

#!/usr/bin/python3
import tkinter as tk
from tkinter import messagebox
 
messagebox.showinfo("Basic Example", "a Basic Tk MessageBox")

Tkinter Message Box_Basic Example

from tkinter import messagebox

Precisamos importar o messagebox de tkinter.

messagebox.showinfo("Basic Example", "a Basic Tk MessageBox")

O showinfo é uma das funções do programa em messagebox. Ela mostra a informação na caixa de mensagens, onde Basic Example é o título na caixa e a Basic Tk MessageBox é a informação mostrada.

As funções de exibição no Tkinter messagebox são,

mostrar Função Descrição
showinfo simples infomartion
showwarning informação de aviso
showerror informação de erro
askquestion fazer a pergunta do usuário
askokcancel as respostas são ok e cancel
askyesno as respostas são yes e no
askretrycancel as respostas são try e cancel

Exemplo de caixa de mensagens Tkinter

import tkinter as tk
from tkinter import messagebox
 
messagebox.showwarning("Warning Example", "Warning MessageBox")

messagebox.showerror("Error Example", "Error MessageBox")

messagebox.askquestion("Ask Question Example", "Quit?")

messagebox.askyesno("Ask Yes/No Example", "Quit?")

messagebox.askokcancel("Ask OK Cancel Example", "Quit?")

messagebox.askretrycancel("Ask Retry Cancel Example", "Quit?")

Tkinter Message Box_Warning Example

Exemplo de Caixa de Mensagens Tkinter_Error

Tkinter Message Box_askquestion

Tkinter Message Box_askyesno

Tkinter Message Box_askretrycancel

Tkinter Message Box_askokcancel

Exemplo de caixa de mensagens Tkinter na GUI

Os exemplos acima demonstram as caixas de mensagens para nos dar a primeira impressão. Mas normalmente, a caixa de mensagens aparece depois que o usuário clica em um botão.

Vamos introduzir como ligar a caixa de mensagens com um clique de botão e a acção ou comando após o utilizador clicar em diferentes opções na caixa de mensagens.

import tkinter as tk
from tkinter import messagebox

root= tk.Tk()
root.geometry('300x200')

def ExitApp():
    MsgBox = tk.messagebox.askquestion ('Exit App','Really Quit?',icon = 'error')
    if MsgBox == 'yes':
       root.destroy()
    else:
        tk.messagebox.showinfo('Welcome Back','Welcome back to the App')
        
buttonEg = tk.Button (root, text='Exit App',command=ExitApp)
buttonEg.pack()
  
root.mainloop()

Nós construímos a caixa de mensagens na função ExitApp() que é ligar ao botão buttonEg.

if MsgBox == 'yes':

O valor de retorno da opção clicada é yes ou no na caixa de mensagem askquestion.

A seguinte ação pode ser fechar a aplicação, mostrando outra caixa de mensagem ou outro comportamento definido.

Tkinter Message Box_Bond para um botão