[Python-checkins] cpython: Issue #20636: Improved the repr of Tkinter widgets.

serhiy.storchaka python-checkins at python.org
Fri Apr 4 14:46:32 CEST 2014


http://hg.python.org/cpython/rev/66770f126c71
changeset:   90127:66770f126c71
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Fri Apr 04 15:45:02 2014 +0300
summary:
  Issue #20636: Improved the repr of Tkinter widgets.

files:
  Doc/library/turtle.rst                     |  2 +-
  Lib/tkinter/__init__.py                    |  5 +++++
  Lib/tkinter/test/test_tkinter/test_misc.py |  5 +++++
  Misc/NEWS                                  |  2 ++
  4 files changed, 13 insertions(+), 1 deletions(-)


diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
--- a/Doc/library/turtle.rst
+++ b/Doc/library/turtle.rst
@@ -1879,7 +1879,7 @@
 
       >>> cv = screen.getcanvas()
       >>> cv
-      <turtle.ScrolledCanvas object at ...>
+      <turtle.ScrolledCanvas object ...>
 
 
 .. function:: getshapes()
diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py
--- a/Lib/tkinter/__init__.py
+++ b/Lib/tkinter/__init__.py
@@ -1280,6 +1280,11 @@
     def __str__(self):
         """Return the window path name of this widget."""
         return self._w
+
+    def __repr__(self):
+        return '<%s.%s object %s>' % (
+            self.__class__.__module__, self.__class__.__qualname__, self._w)
+
     # Pack methods that apply to the master
     _noarg_ = ['_noarg_']
     def pack_propagate(self, flag=_noarg_):
diff --git a/Lib/tkinter/test/test_tkinter/test_misc.py b/Lib/tkinter/test/test_tkinter/test_misc.py
--- a/Lib/tkinter/test/test_tkinter/test_misc.py
+++ b/Lib/tkinter/test/test_tkinter/test_misc.py
@@ -10,6 +10,11 @@
     def setUp(self):
         self.root = ttk.setup_master()
 
+    def test_repr(self):
+        t = tkinter.Toplevel(self.root, name='top')
+        f = tkinter.Frame(t, name='child')
+        self.assertEqual(repr(f), '<tkinter.Frame object .top.child>')
+
     def test_tk_setPalette(self):
         root = self.root
         root.tk_setPalette('black')
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -29,6 +29,8 @@
 Library
 -------
 
+- Issue #20636: Improved the repr of Tkinter widgets.
+
 - Issue #19505: The items, keys, and values views of OrderedDict now support
   reverse iteration using reversed().
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list