MessageBox-Dialoge
Eigenschaften
Import-Modul:
Um die unteren Funktionen aufzurufen, benötigen Sie folgende Import-Anweisung:
from tkinter import messagebox
Messagebbox-Typen
messagebox.showinfo:
Aufruf:
messagebox.showinfo( "Meldung", "Ihre Festplatte wird formatiert",icon='info')
Folgende Symbole sind möglich:
- error
- warning
- info
- question

showinfo-Beispiel
messagebox.askyesno
askyesno:
result = messagebox.askyesno("Delete", "Are You Sure?", icon='question', default='no')
Beispiel:
# error warning info question default='yes'
result = messagebox.askyesno("Delete", "Are You Sure?", icon='question', default='no')
if result == True:
__messagebox.showinfo("Deleted","Deleted")
else:
__messagebox.showinfo("Not Deleted","Not Deleted")
Folgende Symbole sind möglich:
- error
- warning
- info
- question

askyesno-Dialog
messagebox.askyesnocancel
askyesnocancel:
result = messagebox.askyesnocancel( "Beenden", "Änderungen speichern?")
Beispiel:
result = messagebox.askyesnocancel( "Beenden", "Änderungen speichern?")
if result == True:
__messagebox.showinfo("Beenden","Save")
elif result == False:
__messagebox.showinfo("Beenden","No Save")
elif result == None:
__messagebox.showinfo("Beenden","No Close")
else:
__messagebox.showinfo("Beenden","Fehlerhafte Abfrage")
Folgende Symbole sind möglich:
- error
- warning
- info
- question

askyesnocancel-Dialog
messagebox.askretrocancel
askretrycancel
result = messagebox.askretrycancel( "Datei öffnen", "Fehler beim Öffnen, noch einmal versuchen?")
Beispiel:
result = messagebox.askretrycancel( "Datei öffnen", "Fehler beim Öffnen, noch einmal versuchen?")
if result == True:
__messagebox.showinfo("Datei öffnen","Noch einmal")
else:
__messagebox.showinfo("Datei öffnen","Ende, kein weiterer Versuch")
Folgende Symbole sind möglich:
- error
- warning
- info
- question

askretrycancel-Dialog
1. Beispiel
import tkinter from tkinter import messagebox class MyApp(tkinter.Frame): def __init__(self, master=None): tkinter.Frame.__init__(self, master) self.pack() self.setGUI() def setGUI(self): self.inputui = tkinter.Entry(self) self.inputui.pack(expand=True, fill="x", padx="30",pady="10") self.bnOk = tkinter.Button(self) self.bnOk["text"] = "Abbruch" self.bnOk["command"] = self.quit self.bnOk.pack(padx="10",pady="10", side="right") self.bnInfo = tkinter.Button(self) self.bnInfo["text"] = "ShowInfo" self.bnInfo["command"] = self.onshowinfo self.bnInfo.pack(padx="10",pady="10", side="right") self.bnWarning = tkinter.Button(self) self.bnWarning["text"] = "ShowWarning" self.bnWarning["command"] = self.onshowwarning self.bnWarning.pack(padx="10",pady="10", side="right") self.bnError = tkinter.Button(self) self.bnError["text"] = "ShowError" self.bnError["command"] = self.onshowerror self.bnError.pack(padx="10",pady="10", side="right") def onshowinfo(self): # error warning info question default='yes' messagebox.showinfo( "Meldung", "Ihre Festplatte wird formatiert",icon='info') def onshowwarning(self): messagebox.showwarning( "Hello Python", "Hello World") def onshowerror(self): messagebox.showerror( "Hello Python", "Hello World") root = tkinter.Tk() root.title("Mein Fenster") # root.geometry("200x100") app = MyApp(root) app.mainloop()
2. Beispiel
import tkinter from tkinter import messagebox class MyApp(tkinter.Frame): def __init__(self, master=None): tkinter.Frame.__init__(self, master) self.pack() self.setGUI() def setGUI(self): self.inputui = tkinter.Entry(self) self.inputui.pack(expand=True, fill="x", padx="30",pady="10") self.bnESC = tkinter.Button(self) self.bnESC["text"] = "Abbruch" self.bnESC["command"] = self.quit self.bnESC.pack(padx="10",pady="10", side="right") self.bnOKCancel = tkinter.Button(self) self.bnOKCancel["text"] = "OK/Cancel" self.bnOKCancel["command"] = self.onaskokcancel self.bnOKCancel.pack(padx="10",pady="10", side="right") self.bnYesNo = tkinter.Button(self) self.bnYesNo["text"] = "Question" self.bnYesNo["command"] = self.onaskquestion self.bnYesNo.pack(padx="10",pady="10", side="right") self.bnYesNo2 = tkinter.Button(self) self.bnYesNo2["text"] = "Yes / No (Abfrage)" self.bnYesNo2["command"] = self.onaskyesno self.bnYesNo2.pack(padx="10",pady="10", side="right") self.bnYesNoCancel = tkinter.Button(self) self.bnYesNoCancel["text"] = "Yes / No / Cancel" self.bnYesNoCancel["command"] = self.onaskyesnocancel self.bnYesNoCancel.pack(padx="10",pady="10", side="right") self.bnRetryCancel = tkinter.Button(self) self.bnRetryCancel["text"] = "RetryCancel" self.bnRetryCancel["command"] = self.onaskretrycancel self.bnRetryCancel.pack(padx="10",pady="10", side="right") def onaskokcancel(self): messagebox.askokcancel( "Note", "Sie erhalten eine 1,0") def onaskquestion(self): messagebox.askquestion( "Note", "Wollen Sie eine 1,0?") def onaskyesno(self): # error warning info question default='yes' result = messagebox.askyesno("Delete", "Are You Sure?", icon='question', default='no') if result == True: messagebox.showinfo("Deleted","Deleted") else: messagebox.showinfo("Not Deleted","Not Deleted") def onaskyesnocancel(self): result = messagebox.askyesnocancel( "Beenden", "Änderungen speichern?") if result == True: messagebox.showinfo("Beenden","Save") elif result == False: messagebox.showinfo("Beenden","No Save") elif result == None: messagebox.showinfo("Beenden","No Close") else: messagebox.showinfo("Beenden","Fehlerhafte Abfrage") def onaskretrycancel(self): result = messagebox.askretrycancel( "Datei öffnen", "Fehler beim Öffnen, noch einmal versuchen?") if result == True: messagebox.showinfo("Datei öffnen","Noch einmal") else: messagebox.showinfo("Datei öffnen","Ende, kein weiterer Versuch") root = tkinter.Tk() root.title("Mein Fenster") # root.geometry("200x100") app = MyApp(root) app.mainloop()