Who's on First, IDLE or pythonWin? Dialog Problem?

W. eWatson notvalid2 at sbcglobal.net
Wed Feb 11 14:39:29 EST 2009


Steve Holden wrote:
> 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
Not quite. I take down IDLE when I run pyWin, and vice versa.

-- 
                                W. eWatson

              (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time)
               Obz Site:  39° 15' 7" N, 121° 2' 32" W, 2700 feet

                     Web Page: <www.speckledwithstars.net/>




More information about the Python-list mailing list