By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,621 Members | 1,104 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,621 IT Pros & Developers. It's quick & easy.

Possible bug in Tkinter for Python 2.6

P: n/a
Hello all,

I'm trying out Python 2.6 and I found what might be a bug in the Tkinter
module. How can I report it?

The possible bug is a traceback when trying to delete a menu item in a
menu where no items have associated commands.

For example:
------------------------------
from Tkinter import *

root = Tk()

mb = Menu(root)
root.configure(menu=mb)

fm = Menu(mb)
mb.add_cascade(label='File', menu=fm)

fm.add_command(label='Open')
fm.add_command(label='Quit')

def remove_menu_item():
fm.delete(1)

Button(root, text='Remove menu item',
command=remove_menu_item).pack(padx=12, pady=24)

root.mainloop()
------------------------------

Clicking on the button should remove the 'Open' item in the 'File' menu,
but ends up in a traceback:
File "/opt/Python2.6+Tk8.5/bin/Linux/lib/python2.6/lib-tk/Tkinter.py",
line 1410, in __call__
return self.func(*args)
File "menu.py", line 15, in remove_menu_item
fm.delete(1)
File "/opt/Python2.6+Tk8.5/bin/Linux/lib/python2.6/lib-tk/Tkinter.py",
line 2670, in delete
if c in self._tclCommands:

It just seems the _tclCommands attribute on menus is initialized to None
and never changed if none of the items actually have a command.

Thanks!
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
Nov 19 '08 #1
Share this Question
Share on Google+
3 Replies


P: n/a
On Wed, 19 Nov 2008 10:57:53 +0100
"Eric Brunel" <se***********@no.spamwrote:
I'm trying out Python 2.6 and I found what might be a bug in the
Tkinter module. How can I report it?
maybe here:
http://bugs.python.org/issue3774
The possible bug is a traceback when trying to delete a menu item in
a menu where no items have associated commands.
[...]
It just seems the _tclCommands attribute on menus is initialized to
None and never changed if none of the items actually have a command
I ran into the same issue after I downloaded PysolFC-1.1 . I actually
uploaded a patch for PysolFC for it for Python26 on Ubuntu and forgot
all about it, thinking it could be some API change. Thanks for nailing
down the problem a bit more and asking the questions here. It helped me
to discover the bug reporting facility. According to the link above
this bug is already reported and fixed, but it's nice to know anyway.

Now for some really strange bug that still breaks PysolFC-1.1 on windows
for me with Python26 ... (Python25 not affected):

.....

File "c:\python26\lib\lib-tk\Tkinter.py", line 1202, in configure
return self._configure('configure', cnf, kw)
File "c:\python26\lib\lib-tk\Tkinter.py", line 1193, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: image "pyimage237" doesn't exist

I suspect there has been some upgrade or new compilation of tcl
that causes this behavior.

A.
Nov 19 '08 #2

P: n/a
Anton Vredegoor wrote:
On Wed, 19 Nov 2008 10:57:53 +0100
"Eric Brunel" <se***********@no.spamwrote:
>I'm trying out Python 2.6 and I found what might be a bug in the
Tkinter module. How can I report it?

maybe here:
http://bugs.python.org/issue3774
The fix will be in 2.6.1, which might be in December.

Nov 19 '08 #3

P: n/a
On Wed, 19 Nov 2008 18:51:03 +0100, Terry Reedy <tj*****@udel.eduwrote:
Anton Vredegoor wrote:
>On Wed, 19 Nov 2008 10:57:53 +0100
"Eric Brunel" <se***********@no.spamwrote:
>>I'm trying out Python 2.6 and I found what might be a bug in the
Tkinter module. How can I report it?
maybe here:
http://bugs.python.org/issue3774

The fix will be in 2.6.1, which might be in December.
Thanks! Quite easy to fix anyway, but I prefer having an official version.
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
Nov 20 '08 #4

This discussion thread is closed

Replies have been disabled for this discussion.