Esta respuesta se basa en la respuesta PM 2Ring:
Tengo un problema al cerrar el cuadro de mensaje, así que lo hice de esta manera:
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('Title','Are you sure?')
root.update()
Para Python3:
from tkinter import *
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
messagebox.showwarning('alert title', 'Bad things happened!')
Necesitas instalar tkinter:
sudo apt-get install python3-tk
Otra solución es usar pyautogui
import pyautogui as pag
pag.alert(text="Bad things happened!", title="alert title")
Puede hacerlo con Tkinter, que es multiplataforma y normalmente se incluye con el paquete estándar de Python.
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('alert title', 'Bad things happened!')
(En Python 3, debe cambiar la primera línea a import tkinter as tk
. Y el import tkMessageBox
la línea se convierte en from tkinter import messagebox
y se requiere un cambio coincidente para la última línea).
Las siguientes dos líneas crean una ventana raíz para la aplicación (que todos los programas Tkinter necesitan), pero luego hacen que esa ventana sea invisible. Y finalmente mostramos nuestra alerta.
Usted puede necesita instalar python-tk (es decir, sudo apt-get install python-tk
en distribuciones de Ubuntu) antes de usar Tkinter; no está instalado de manera predeterminada en algunas distribuciones.
Para crear una notificación en lugar de un cuadro de diálogo que debe descartarse, puede usar notify-send
Como se muestra abajo. Esto tampoco requiere instalar python-tk
u otros paquetes.
import subprocess
subprocess.run(["/usr/bin/notify-send", "--icon=error", "This is your error message ..."])
Consulte la página del manual para obtener más opciones.