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

W. eWatson notvalid2 at sbcglobal.net
Thu Feb 12 04:58:22 CET 2009


drobinow at gmail.com wrote:
> On Feb 11, 2:51 pm, Steve Holden <st... at holdenweb.com> wrote:
>> W. eWatson wrote:
>>> 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.
>>> Not quite. I take down IDLE when I run pyWin, and vice versa.
>> The two separate loops being PyWin (which uses MFC) and your program
>> (which uses Tkinter). You just can't mix GUIs in the same process like
>> that, sorry.
>>
>> regards
>>  Stedve
>> --
>> Steve Holden        +1 571 484 6266   +1 800 494 3119
>> Holden Web LLC              http://www.holdenweb.com/
> 
> Deja-vu!
> 
> http://mail.python.org/pipermail/python-list/2001-March/076069.html
The question now is what can I do about it? reboot?

Just to re-iterate the answer I provided the answer to above, I'm using 
Tkinter for the program's GUI.

-- 
                                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