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 -- http://mail.python.org/mailman/listinfo/python-list