25
Learning Python- Intermediate course: Day 35, MessageBox widget
The messagebox widget is a widget which is used to represent pop-up message in a Tkinter program.
The program below shows an example of a simple messagebox.
from tkinter import messagebox
from tkinter import *
master = Tk()
master.geometry("100x100")
def showmessage():
messagebox.showinfo("Say hello","Hello programmers")
button=Button(master,text="Show message",command=showmessage)
button.pack()
master.mainloop()


Syntax- messagebox.showinfo(title,message)
Similarly The message box has different flavors of boxes
showinfo
- show message on popupshowwarning
- show warning (with disclaimer sign)showerror
- Show error (with red cross)askquestiion
- Asks the user yes or noaskyesno
- same like askquestion
askokcancel
Asks the user ok or cancelaskretrycancel
asks the user retry or cancelfrom tkinter import messagebox
from tkinter import *
master = Tk()
master.geometry("100x100")
def showmessage():
messagebox.showwarning("Wait!","Something is missing")
button=Button(master,text="Show message",command=showmessage)
button.pack()
master.mainloop()

from tkinter import messagebox
from tkinter import *
master = Tk()
master.geometry("100x100")
def showmessage():
messagebox.showerror("Error!","Something is wrong")
button=Button(master,text="Show message",command=showmessage)
button.pack()
master.mainloop()

Asking question is quite similar to
askyesno
. Both give the same outputfrom tkinter import messagebox
from tkinter import *
master = Tk()
master.geometry("100x100")
def showmessage():
messagebox.askquestion("stop!","are you sure?")
button=Button(master,text="Show message",command=showmessage)
button.pack()
master.mainloop()

from tkinter import messagebox
from tkinter import *
master = Tk()
master.geometry("100x100")
def showmessage():
messagebox.askyesno("stop!","are you sure?")
button=Button(master,text="Show message",command=showmessage)
button.pack()
master.mainloop()

We can get the values of the user entered answer in form of true or false from the user as shown in the program below
from tkinter import messagebox
from tkinter import *
master = Tk()
master.geometry("100x100")
def showmessage():
a=messagebox.askyesno("stop!","are you sure?")
#returns true or false
button.config(text=a)
button=Button(master,text="Show message",command=showmessage)
button.pack()
master.mainloop()
On clicking yes,

from tkinter import messagebox
from tkinter import *
master = Tk()
master.geometry("100x100")
def showmessage():
a=messagebox.askokcancel("stop!","Do it?")
#returns true or false
button.config(text=a)
button=Button(master,text="Show message",command=showmessage)
button.pack()
master.mainloop()

We can get the values from the box in the same manner as
askyesno
from tkinter import messagebox
from tkinter import *
master = Tk()
master.geometry("100x100")
def showmessage():
a=messagebox.askretrycancel("stop!","Action failed?")
#returns true or false
button.config(text=a)
button=Button(master,text="Show message",command=showmessage)
button.pack()
master.mainloop()

25