Tcl Source Code

View Ticket
Login
Ticket UUID: 3565164
Title: bind<ButtonRelease-1> doesnt have same behavior on windows
Type: Bug Version: None
Submitter: sunblackshine Created on: 2012-09-06 02:41:07
Subsystem: None Assigned To: dgp
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2012-09-06 19:00:05
Resolution: Invalid Closed By: dgp
    Closed on: 2012-09-06 12:00:05
Description:
I write a xml layout feature for my work, recently. And I want bind a radiobutton or checkbutton click event on a method, but do not affect "command" configure option.
so I use the Events and Bindings, I write it like this widget.bind("<ButtonRelease-1>", lambda event: self.enable_toggle(data))
and 
    def enable_toggle(self, widget):
       print widget_value_map[widget].get() # this will get the widget's variable and get it value.

on linux platform, the <ButtonRelease-1> event will be called after variable change, so I get the correct value in enable_toggle
but on windows platform, the event will be called before variable change, so I get the wrong value.

version:(python version  2.7.3)
Linux:
>>> Tkinter.TkVersion
8.5
>>> Tkinter.TclVersion
8.5
Windows:
>>> Tkinter.TkVersion
8.5
>>> Tkinter.TclVersion
8.5


I wrte a simple code(attachment) to show this bug. I want the code have same result on linux and windows, but it doesnt.

BTW: Is there a way to bind multiple method to an button click event? If a better one please tell me. Thank you. mailto: [email protected]
User Comments: dgp added on 2012-09-06 19:00:05:

allow_comments - 1

This report is about Tk.  It should be in the
Tracker for the tktoolkit project at SourceForge.

Took care of it for you this time.
http://sf.net/tracker/?func=detail&aid=3565268&group_id=12997&atid=112997

sunblackshine added on 2012-09-06 09:41:08:

File Added - 452666: t-toggle.py

Attachments: