mirror of https://github.com/python/cpython
gh-94473: Flatten arguments in tkinter.Canvas.coords() (GH-98479)
It now accepts not only "x1, y1, x2, y2, ..." and "[x1, y1, x2, y2, ...]", but also "(x1, y1), (x2, y2), ..." and "[(x1, y1), (x2, y2), ...]".
This commit is contained in:
parent
6fba031476
commit
9bc80dac47
|
@ -532,6 +532,17 @@ threading
|
|||
profiling functions in all running threads in addition to the calling one.
|
||||
(Contributed by Pablo Galindo in :gh:`93503`.)
|
||||
|
||||
tkinter
|
||||
-------
|
||||
|
||||
* ``tkinter.Canvas.coords()`` now flattens its arguments.
|
||||
It now accepts not only coordinates as separate arguments
|
||||
(``x1, y1, x2, y2, ...``) and a sequence of coordinates
|
||||
(``[x1, y1, x2, y2, ...]``), but also coordinates grouped in pairs
|
||||
(``(x1, y1), (x2, y2), ...`` and ``[(x1, y1), (x2, y2), ...]``),
|
||||
like ``create_*()`` methods.
|
||||
(Contributed by Serhiy Storchaka in :gh:`94473`.)
|
||||
|
||||
types
|
||||
-----
|
||||
|
||||
|
|
|
@ -901,6 +901,12 @@ class CanvasTest(AbstractWidgetTest, unittest.TestCase):
|
|||
c.coords(i, [21, 31, 41, 51, 61, 11])
|
||||
self.assertEqual(c.coords(i), [21.0, 31.0, 41.0, 51.0, 61.0, 11.0])
|
||||
|
||||
c.coords(i, (22, 32), (42, 52), (62, 12))
|
||||
self.assertEqual(c.coords(i), [22.0, 32.0, 42.0, 52.0, 62.0, 12.0])
|
||||
|
||||
c.coords(i, [(23, 33), (43, 53), (63, 13)])
|
||||
self.assertEqual(c.coords(i), [23.0, 33.0, 43.0, 53.0, 63.0, 13.0])
|
||||
|
||||
c.coords(i, 20, 30, 60, 10)
|
||||
self.assertEqual(c.coords(i), [20.0, 30.0, 60.0, 10.0])
|
||||
self.assertEqual(c.bbox(i), (18, 8, 62, 32))
|
||||
|
|
|
@ -2817,7 +2817,7 @@ class Canvas(Widget, XView, YView):
|
|||
|
||||
def coords(self, *args):
|
||||
"""Return a list of coordinates for the item given in ARGS."""
|
||||
# XXX Should use _flatten on args
|
||||
args = _flatten(args)
|
||||
return [self.tk.getdouble(x) for x in
|
||||
self.tk.splitlist(
|
||||
self.tk.call((self._w, 'coords') + args))]
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Flatten arguments in :meth:`tkinter.Canvas.coords`. It now accepts not only
|
||||
``x1, y1, x2, y2, ...`` and ``[x1, y1, x2, y2, ...]``, but also ``(x1, y1),
|
||||
(x2, y2), ...`` and ``[(x1, y1), (x2, y2), ...]``.
|
Loading…
Reference in New Issue