W. eWatson wrote: > My program in IDLE bombed with: > ============== > Exception in Tkinter callback > Traceback (most recent call last): > File "C:\Python25\lib\lib-tk\Tkinter.py", line 1403, in __call__ > return self.func(*args) > File > "C:\Sandia_Meteors\New_Sentinel_Development\Sentuser_Utilities_Related\sentuser\sentuserNC25-Dev4.py", > line 552, in OperationalSettings > dialog = OperationalSettingsDialog( self.master, set_loc_dict ) > File > "C:\Sandia_Meteors\New_Sentinel_Development\Sentuser_Utilities_Related\sentuser\sentuserNC25-Dev4.py", > line 81, in __init__ > tkSimpleDialog.Dialog.__init__(self, parent) > File "C:\Python25\lib\lib-tk\tkSimpleDialog.py", line 69, in __init__ > self.wait_visibility() # window needs to be visible for the grab > File "C:\Python25\lib\lib-tk\Tkinter.py", line 415, in wait_visibility > self.tk.call('tkwait', 'visibility', window._w) > TclError: window ".34672232" was deleted before its visibility changed > =============== > It runs fine in pythonWin performing the same entry operation. Open a > menu, select an item to open a dialog, select a select button in the > dialog, press OK to leave the dialog. Boom, as above. > > (This does not mean pythonWin doesn't have problems of its own. ) If I > just execute the code (double click on the py file, the console shows no > problems. IDLE is unhappy. > > Another side to this is that I use WinMerge to find differences between > my last saved copy and the current copy. I found the current copy had > two lines where a abc.get() was changed to abc.get. This was undoubtedly > from briefly using the pyWin editor, when I mis-hit some keys. Yet pyWin > had no trouble executing the program. My guess is that while briefly > editing there, I hit some odd combination of keys that produced, > perhaps, an invisible character that pyWin ignores. > > Not the 34672232 window is a dialog that I closed by pressing OK. I > would again guess, that, if there is a problem, it occurs in the code > that destroys the dialog. > > Well you have to remember that you are trying to run a windowed GUI under the control of another windows GUI, so it isn't surprising that you hit trouble.
With IDLE the issue will be that IDLE already created a main window before your program started running. With PythonWin you are using two different toolkits, so it isn't really surprising that breaks down - there will be two entirely separate main loops competing with each other. regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list