Fri, 2 Dec 2005 16:58:26 -0800
Fred Lionetti <lordvader (AT) gmail (DOT) comwrote:
Hi everyone,
I may have found a strange bug with tkFileDialog, and I'm wondering if
anyone has a workaround for the problem. It happens when you have a
button (or any other clickable widget) directly behind the
askopenfilename dialog box and double click on a file. The button
(behind the open file dialog) gets clicked, when it shouldn't. It
occurs with the code below (but only under windows).
from Tkinter import *
import tkFileDialog
def cmd():
print "button was pressed"
parent = Tk()
Button(parent, text = "hello", command = cmd, width=30, height = 10).pack()
tkFileDialog.askopenfilename(parent=parent, title = "Double click on a
file with the 'hello' button directly behind")
parent.mainloop()
Hi Fred,
I don't have a windows box here to try it, so I can just guess.
my linux box the list in the dialog responds to ButtonRelease events,
but I think on windows tk uses native dialogs, and maybe these respond to ButtonPress events;
if this is the case, it may happen that the ButtonRelease occurs *after* the dialog window
has been destroyed, so the event gets delivered to the button in the parent window.
Regards
Michael
Tutor maillist - Tutor (AT) python (DOT) org