[chimera-dev] Using Pmw widgets
Mateusz Dobrychłop
dobry at g.pl
Thu Sep 1 02:58:38 PDT 2011
Hello,
I apologize for the delayed response. Using Toplevel() instead of Tk()
generates the same problem. Actually, the problem is that my code used to
work perfectly before the system's reinstallation and after the first launch
of Chimera.
I somehow managed to make it work - but I have no idea why the line of code
makes it work and, still, why it wasn't necessary before, but it is now:
x=Pmw.EntryField()
When this is typed before any other usage of Pmw toolkit, the whole rest
just works. I really wonder why this is a solution, if you have any ideas
what is happening, please let me know ;)
Best,
Mateusz
W dniu 29 sierpnia 2011 20:42 użytkownik Tom Goddard <goddard at sonic.net>napisał:
> 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 listChimera-dev at cgl.ucsf.eduhttp://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/20110901/84e6b1ab/attachment.html>
More information about the Chimera-dev
mailing list