Cette réponse basée sur la réponse PM 2Ring :
J'ai un problème avec la fermeture de la boîte de message, alors je l'ai fait de cette façon :
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('Title','Are you sure?')
root.update()
Pour Python3 :
from tkinter import *
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
messagebox.showwarning('alert title', 'Bad things happened!')
Vous devez installer tkinter :
sudo apt-get install python3-tk
Une autre solution consiste à utiliser pyautogui
import pyautogui as pag
pag.alert(text="Bad things happened!", title="alert title")
Vous pouvez le faire avec Tkinter, qui est multiplateforme et généralement fourni avec le package Python standard.
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('alert title', 'Bad things happened!')
(Sur Python 3, vous devez changer la première ligne en import tkinter as tk
. Et le import tkMessageBox
la ligne devient from tkinter import messagebox
, et une modification correspondante est requise pour la dernière ligne).
Les deux lignes suivantes créent une fenêtre racine pour l'application (dont tous les programmes Tkinter ont besoin), mais rendent ensuite cette fenêtre invisible. Et enfin nous affichons notre alerte.
Vous pouvez besoin d'installer python-tk (c'est-à-dire sudo apt-get install python-tk
dans les distributions Ubuntu) avant d'utiliser Tkinter - il n'est pas installé par défaut sur certaines distributions.
Pour créer une notification plutôt qu'une boîte de dialogue qui doit être fermée, vous pouvez utiliser notify-send
comme indiqué ci-dessous. Cela ne nécessite pas non plus l'installation de python-tk
ou d'autres forfaits.
import subprocess
subprocess.run(["/usr/bin/notify-send", "--icon=error", "This is your error message ..."])
Voir la page de manuel pour plus d'options.