I have been trying to add an askquestion dialog box to a delete button in Tkinter. Curently I have a button that deletes the contents of a folder once it is pressed I would like to add a yes/no confirmation question.
import Tkinter
import tkMessageBox
top = Tkinter.Tk()
def deleteme():
tkMessageBox.askquestion("Delete", "Are You Sure?", icon='warning')
if 'yes':
print "Deleted"
else:
print "I'm Not Deleted Yet"
B1 = Tkinter.Button(top, text = "Delete", command = deleteme)
B1.pack()
top.mainloop()
Everytime I run this I get the "Deleted" statement even if I press "No". Can an if statement be added to a tkMessageBox?
Below is the code to ask question in messagebox of exit window and then exit if user press Yes.
The problem is your
if
-statement. You need to get the result from the dialog (which will be'yes'
or'no'
) and compare with that. Note the 2nd and 3rd line in the code below.Now for as to why your code seems to work: In Python a large number of types can be used in contexts where boolean values are expected. So for instance you can do:
The same thing happens for strings, where any non-empty string behaves like
True
and an empty string behaves likeFalse
. Henceif 'yes':
always executing.