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?.

Depois do truque de @kingarturo23, ...
Depois do truque de @kingarturo23, veio a Mágica de Arrascaeta

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