Returning a value from a Tk dialog
Fredrik Lundh
fredrik at pythonware.com
Tue Nov 8 01:26:06 EST 2005
Gordon Airporte wrote:
> The dialogs in tkColorChooser, tkFileDialog, etc. return useful values
> from their creation somehow, so I can do stuff like this:
>
> filename = tkFileDialog.askopenfilename( master=self )
>
> I would like to make a Yes/No/Cancel dialog that can be used the same
> way (returning 1/0/-1), but I just cannot figure out how to do it. At
> best I've been able to get some kind of instance id from the object. How
> does this work?
if you want a message box, use the tkMessageBox module. there's
no ready-made wrapper for yes/no/cancel, but you can call the _show
directly:
import tkMessageBox
result = tkMessageBox._show(
"title", "message", tkMessageBox.QUESTION, tkMessageBox.YESNOCANCEL
)
result will be tkMessageBox.YES, tkMessageBox.NO, or tkMessageBox.CANCEL.
if result == tkMessageBox.YES:
return 1
if result == tkMessageNox.No:
return 0
return -1 # assume cancel
</F>
More information about the Python-list
mailing list