diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-12-29 16:22:25 +0000 |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-12-29 16:22:25 +0000 |
commit | 732479f50b46d4df153e178f844ad876e7f63bd8 (patch) | |
tree | f228deafda7d5e05a452590068d36e61109ab1ce /Lib/lib-tk | |
parent | e2eb2b4bc39b73c6346446e278166395a514cdb5 (diff) | |
download | cpython-git-732479f50b46d4df153e178f844ad876e7f63bd8.tar.gz |
Issue #3767: Convert Tk object to string in tkColorChooser.
Diffstat (limited to 'Lib/lib-tk')
-rw-r--r-- | Lib/lib-tk/tkColorChooser.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Lib/lib-tk/tkColorChooser.py b/Lib/lib-tk/tkColorChooser.py index a55a797dd4..cf6283b357 100644 --- a/Lib/lib-tk/tkColorChooser.py +++ b/Lib/lib-tk/tkColorChooser.py @@ -34,19 +34,22 @@ class Chooser(Dialog): try: # make sure initialcolor is a tk color string color = self.options["initialcolor"] - if type(color) == type(()): + if isinstance(color, tuple): # assume an RGB triplet self.options["initialcolor"] = "#%02x%02x%02x" % color except KeyError: pass def _fixresult(self, widget, result): + # result can be somethings: an empty tuple, an empty string or + # a Tcl_Obj, so this somewhat weird check handles that + if not result or not str(result): + return None, None # canceled + # to simplify application code, the color chooser returns # an RGB tuple together with the Tk color string - if not result: - return None, None # canceled r, g, b = widget.winfo_rgb(result) - return (r/256, g/256, b/256), result + return (r/256, g/256, b/256), str(result) # @@ -66,5 +69,4 @@ def askcolor(color = None, **options): # test stuff if __name__ == "__main__": - print "color", askcolor() |