Issue1160383
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2005-03-10 04:32 by isandler, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (5) | |||
---|---|---|---|
msg24517 - (view) | Author: Ilya Sandler (isandler) | Date: 2005-03-10 04:32 | |
It appears that most Tkinter tag operations fail on digit-only tag values >>> from Tkinter import * >>> root=Tk() >>> c=Canvas(root) >>> c.create_line(0,0,100,100, tags="123") 1 >>> c.gettags(1) ('123',) >>> c.pack() >>> c.find_withtag("123") () tkinter docs: http://www.pythonware.com/library/tkinter/introduction/x2017-concepts.htm only say this about tag values: "Tags are ordinary strings, and they can contain anything except whitespace." So this behaviour seems like a bug. |
|||
msg24518 - (view) | Author: Jeff Epler (jepler) | Date: 2005-03-19 14:20 | |
Logged In: YES user_id=2772 This is a documentation bug. The Tk documentation says (canvas, section "ITEM IDS AND TAGS"): Each item may also have any number of tags associated with it. A tag is just a string of characters, and it may take any form except that of an integer. For example, ‘‘x123’’ is OK but ‘‘123’’ isn’t. The same tag may be associated with many different items. Furthermore, the site www.pythonware.com is a third-party site not run by the Python developers. The official Python documentation (http://docs.python.org/lib/module-Tkinter.html and 'pydoc Tkinter') doesn't explain the syntax of an item tag anywhere that I could see) I recommend closing this bug and notifying pythonware.com / Fredrik Lundh about the problem via e-mail. |
|||
msg24519 - (view) | Author: Fredrik Lundh (effbot) * | Date: 2005-03-19 16:53 | |
Logged In: YES user_id=38376 Here's the text before the quoted line: "Everywhere a method expects an item specifier, you can use one of the following: * item handles * tags /.../ Item handles are integer values that are used to identify a specific item on the canvas /.../ Item handles can be passed to the various canvas methods either as integers or as strings. /.../" Note the use of "one of", and the fact that item handles are described before tags. (Writing documentation for people who only reads random sentences is pretty much impossible...) |
|||
msg24520 - (view) | Author: Ilya Sandler (isandler) | Date: 2005-03-20 06:33 | |
Logged In: YES user_id=971153 >".. Item handles can be passed to the various canvas methods > either as integers or as strings..." (from effbot posting) While I can see how a very careful reader might notice that there is a potential conflict between this "handles as strings" statement and "tags can contain anything", I still think that at the very least this conflict needs to be mentioned explicitly. > Furthermore, the site www.pythonware.com is a third-party > site not run by the Python developers (from jepler posting) Actually for whatever reason I thought that pythonware.com is the authorative source for tkinter docs.... I guess it does bring an interesting question for Fredrik... Would you consider merging your Tkinter docs (which seem to be reasonably complete) with python.org docs which seem to be very spotty? |
|||
msg73287 - (view) | Author: Guilherme Polo (gpolo) * | Date: 2008-09-16 01:11 | |
I don't see the bug here. items in a Canvas may be named either as id or as a tag. If you specify items by something that is actually accepted as an integer ("123" for instance) then it is assumed to refer to a single item with id 123. In your case you have an item with id "1", and when you do: c.find_withtag("123") Tk tries to find an item with that id, which doesn't exist and returns an empty tuple. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:10 | admin | set | github: 41677 |
2008-09-16 01:11:37 | gpolo | set | status: open -> closed resolution: wont fix messages: + msg73287 |
2008-09-15 17:38:44 | gpolo | set | nosy: + gpolo |
2005-03-10 04:32:14 | isandler | create |