Diese Antwort basiert auf der Antwort von PM 2Ring:
Ich habe ein Problem mit dem Schließen des Meldungsfelds, also habe ich es so gemacht:
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('Title','Are you sure?')
root.update()
Für Python3:
from tkinter import *
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
messagebox.showwarning('alert title', 'Bad things happened!')
Sie müssen tkinter installieren:
sudo apt-get install python3-tk
Eine andere Lösung ist die Verwendung von pyautogui
import pyautogui as pag
pag.alert(text="Bad things happened!", title="alert title")
Sie können dies mit Tkinter tun, das plattformübergreifend ist und üblicherweise mit dem Standard-Python-Paket gebündelt wird.
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('alert title', 'Bad things happened!')
(Bei Python 3 müssen Sie die erste Zeile in import tkinter as tk
ändern . Und die import tkMessageBox
Zeile wird zu from tkinter import messagebox
, und für die letzte Zeile ist eine passende Änderung erforderlich).
Die nächsten beiden Zeilen erstellen ein Root-Fenster für die Anwendung (das alle Tkinter-Programme benötigen), machen dieses Fenster dann aber unsichtbar. Und schließlich zeigen wir unsere Warnung an.
Sie können müssen python-tk installieren (d.h. sudo apt-get install python-tk
in Ubuntu-Distributionen) vor der Verwendung von Tkinter - es ist bei einigen Distributionen nicht standardmäßig installiert.
Um anstelle eines zu schließenden Dialogfelds eine Benachrichtigung zu erstellen, können Sie notify-send
verwenden Wie nachfolgend dargestellt. Dies erfordert auch keine Installation von python-tk
oder andere Pakete.
import subprocess
subprocess.run(["/usr/bin/notify-send", "--icon=error", "This is your error message ..."])
Weitere Optionen finden Sie in der Manpage.