why an exception

wes weston wweston at att.net
Thu Apr 29 11:14:49 EDT 2004


Group,
    When I run the example, do File/New, and double click a line in the
list box; I get:

Exception in Tkinter callback
Traceback (most recent call last):
   File "/usr/local/Python/lib/python2.3/lib-tk/Tkinter.py", line 1345, in __call__
     return self.func(*args)
   File "/home/wes/jbproject/python/bowling/test.py", line 60, in EditSimpleText
     str = tkSimpleDialog.askstring('','enter str')
   File "/usr/local/Python/lib/python2.3/lib-tk/tkSimpleDialog.py", line 303, in askstring
     d = _QueryString(title, prompt, **kw)
   File "/usr/local/Python/lib/python2.3/lib-tk/tkSimpleDialog.py", line 281, in __init__
     _QueryDialog.__init__(self, *args, **kw)
   File "/usr/local/Python/lib/python2.3/lib-tk/tkSimpleDialog.py", line 179, in __init__
     Dialog.__init__(self, parent, title)
   File "/usr/local/Python/lib/python2.3/lib-tk/tkSimpleDialog.py", line 64, in __init__
     self.grab_set()
   File "/usr/local/Python/lib/python2.3/lib-tk/Tkinter.py", line 521, in grab_set
     self.tk.call('grab', 'set', self._w)
TclError: grab failed: window not viewable


I'm running redhat 9.0 and Python 2.3.3

Another user had a similar problem.
Any ideas?
#-----------------------------------------------------------------------------
from Tkinter import *
import time
import tkSimpleDialog

class MainWindowClass:
     def __init__(self):
         self.Top = Tk()
         self.Top.minsize( 200,200 )

         mainmenu = Menu(self.Top)

         submenu = Menu( mainmenu, tearoff=0 )

         submenu.add_command( label = "New"    , command = self.NewB )
         mainmenu.add_cascade( label = "File",menu = submenu )

         self.Top.config( menu=mainmenu )
         self.Top.mainloop()
     #--------------------------------------------------------------------
     def NewB(self):
         ball = Ball(self.Top)
#----------------------------------------------------------
class Ball:
     def __init__(self,top,ball=None):
         self.Top = Toplevel(top)
         self.Top.columnconfigure(0,weight=1)
         self.Top.rowconfigure(1   ,weight=1)

         self.vscrol = Scrollbar(self.Top,orient="vertical")
         self.vscrol.grid(row=1,column=1,sticky="ns")

         self.hscrol = Scrollbar(self.Top,orient="horizontal")
         self.hscrol.grid(row=2,column=0,sticky="ew")
         self.listbox = Listbox( self.Top,
                                 font='system.fixed 12',
                                 width=60,
                                 height=20,
                                 xscrollcommand=self.hscrol.set,
                                 yscrollcommand=self.vscrol.set,
                                 exportselection=0,
                                 selectmode=SINGLE
                                 )
         self.listbox.grid(row=1,column=0,sticky="nesw")

         self.vscrol.config(command=self.listbox.yview)
         self.hscrol.config(command=self.listbox.xview )

         label = Label(self.Top,anchor='w',font='system.fixed 12',text='heading')
         label.grid(row=0,column=0,sticky="ew")

         self.listbox.bind( "<Double-Button-1>",self.EditSimpleText )
         self.LabelList = [
         ( "Last Name                :","",self.EditSimpleText),
         ( "First Name               :","",self.EditSimpleText),
             ]
         for x in self.LabelList:
             self.listbox.insert(END,x[0]+ " " + x[1])
     #--------------------------------------------------------------------
     def EditSimpleText( self, event ):
         str = tkSimpleDialog.askstring('','enter str')
#----------------------------------------------------------
if __name__ == '__main__':
   w = MainWindowClass()




More information about the Python-list mailing list