Tkinter Tutorial - Casella dei messaggi

  1. Tkinter Message Box
  2. Esempio di casella di messaggio Tkinter
  3. Tkinter Message Box Esempio nella GUI

Il Tkinter message box è il pop-up che appare sullo schermo per dare informazioni in chiaro o per porre all’utente una domanda come Sei sicuro di smettere? Sì o No?

Tkinter Message Box

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

Tkinter Message Box_Basic Esempio

from tkinter import messagebox

Dobbiamo importare la messagebox da tkinter.

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

showinfo è una delle funzioni dello show in messagebox. Mostra le informazioni nella casella dei messaggi, dove Basic Example è il titolo nella casella e a Basic Tk MessageBox è l’informazione mostrata.

Le funzioni di show nella messagebox di Tkinter sono,

mostra Funzione Descrizione
showinfo semplice infomazione
showwarning informazioni di avvertimento
showerror informazioni di errore
askquestion fare una domanda all’utente
askokcancel le risposte sono ok e cancel
askyesno le risposte sono yes e no
askretrycancel le risposte sono try e cancel

Esempio di casella di messaggio 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?")

Esempio di messaggio Tkinter Message Box_Warning

Tkinter Message Box_Error Esempio

Tkinter Message Box_askquestion

Tkinter Message Box_askyesno

Tkinter Message Box_askretrycancel

Tkinter Message Box_askokcancel

Tkinter Message Box Esempio nella GUI

Gli esempi sopra riportati mostrano le caselle di messaggio per darci la prima impressione. Normalmente, però, la finestra di messaggio si apre dopo che l’utente ha cliccato su un pulsante.

Introdurremo come legare la message box con un clic su un pulsante e l’azione o il comando dopo che l’utente ha fatto clic su diverse opzioni nella message box.

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()

Costruiamo la message box nella funzione ExitApp() che è il legame con il pulsante buttonEg.

if MsgBox == 'yes':

Il valore di ritorno dell’opzione cliccata è yes o no nella casella di messaggio askquestion.

L’azione seguente potrebbe essere la chiusura dell’applicazione, mostrando un’altra casella di messaggio o un altro comportamento definito.

Tkinter Message Box_Bond ad un pulsante