[chimera-dev] Using Pmw widgets
Tom Goddard
goddard at sonic.net
Mon Aug 29 11:42:10 PDT 2011
Hi Mateusz,
I suspect your problem is that
a = Tkinter.Tk()
creates a toplevel window with its own Tcl interpreter. You don't want
that since the Chimera Tcl interpreter won't know that window exists.
You want to use the Tcl interpreter Chimera uses for all its windows.
To do that use instead.
a = Tkinter.Toplevel()
As Greg and Eric suggested it would be better to have Chimera
baseDialog.py make the dialog window for you.
Tom
Mateusz Dobrychłop wrote:
> Dear Chimera Dev Team,
>
> I am writing a Chimera extension and I use the Pmw toolkit in my GUI.
> I had no problems testing it and it worked great until I decided to
> reinstall my OS (Windows 7). After that, I installed Chimera 1.5.3,
> imported my extension and didn't face any problems at first. But then,
> after closing the viewer and running it again, an error occured right
> after importing the extension's gui:
>
> Traceback (most recent call last):
> File "<pyshell#5>", line 1, in <module>
> b=Pmw.EntryField(a,labelpos="w",label_text="asd")
> File "C:\Program Files (x86)\Chimera
> 1.5\bin\lib\site-packages\Pmw\Pmw_1_3\lib\PmwEntryField.py", line 73,
> in __init__
> sequences = root.bind_class(tag)
> File "C:\Program Files (x86)\Chimera 1.5\bin\lib\lib-tk\Tkinter.py",
> line 1012, in bind_class
> return self._bind(('bind', className), sequence, func, add, 0)
> File "C:\Program Files (x86)\Chimera 1.5\bin\lib\lib-tk\Tkinter.py",
> line 947, in _bind
> return self.tk.splitlist(self.tk.call(what))
> TclError: bad window path name ".94327912.94328912"
>
> I didn't change anything since the last succesful testing of my
> extension - something happened after closing Chimera for the first
> time, and I have no idea what it is.
>
> After that, I tried reinstalling Chimera, installing older versions -
> it's always the same story; everything works great on the first run,
> but after I close the viewer for the first time, I am not ever able to
> use Pmw anymore.
>
> The code that causes this error is simple:
>
> a=Tkinter.Tk()
> b=Pmw.EntryField(a,labelpos="w",labeltext="c")
>
> I tried to type the same thing in IDLE and I got the exact same error.
>
> Thank you for any help,
>
> best,
>
> Mateusz
>
>
> _______________________________________________
> Chimera-dev mailing list
> Chimera-dev at cgl.ucsf.edu
> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-dev/attachments/20110829/7c352b28/attachment.html>
More information about the Chimera-dev
mailing list