Returning a value from a Tk dialog
Ron Adam
rrr at ronadam.com
Mon Nov 7 23:10:01 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?
All of the dialogs you mention use functions as a caller. And then the
function is returning the result.
From tkColorChooser...
def askcolor(color = None, **options):
"Ask for a color"
if color:
options = options.copy()
options["initialcolor"] = color
return Chooser(**options).show()
In this case the Chooser(**options) initiates the dialog, and then the
show() method is called and it returns the value. The return line above
is the same as...
cc = Chooser(**options)
color = cc.show()
return color
The other dialogs work in same way. They are all based on
tkCommonDialog, so look in tkCommonDialog.py to see exactly what's going on.
Cheers,
Ron
More information about the Python-list
mailing list