Questa risposta è basata sulla risposta PM 2Ring:
Ho qualche problema con la chiusura della finestra di messaggio, quindi l'ho fatto in questo modo:
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('Title','Are you sure?')
root.update()
Per Python3:
from tkinter import *
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
messagebox.showwarning('alert title', 'Bad things happened!')
Devi installare tkinter:
sudo apt-get install python3-tk
Un'altra soluzione è usare pyautogui
import pyautogui as pag
pag.alert(text="Bad things happened!", title="alert title")
Puoi farlo con Tkinter, che è multipiattaforma e comunemente in bundle con il pacchetto Python standard.
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('alert title', 'Bad things happened!')
(Su Python 3, devi cambiare la prima riga in import tkinter as tk
. E il import tkMessageBox
la riga diventa from tkinter import messagebox
, ed è richiesta una modifica corrispondente per l'ultima riga).
Le due righe successive creano una finestra root per l'applicazione (di cui hanno bisogno tutti i programmi Tkinter), ma poi rendono quella finestra invisibile. E finalmente mostriamo il nostro avviso.
Puoi è necessario installare python-tk (ovvero sudo apt-get install python-tk
nelle distribuzioni Ubuntu) prima di usare Tkinter - non è installato di default su alcune distribuzioni.
Per creare una notifica anziché una finestra di dialogo che deve essere chiusa, puoi utilizzare notify-send
come mostrato di seguito. Anche questo non richiede l'installazione di python-tk
o altri pacchetti.
import subprocess
subprocess.run(["/usr/bin/notify-send", "--icon=error", "This is your error message ..."])
Consulta la pagina man per ulteriori opzioni.