[chimera-dev] Using Pmw widgets
Eric Pettersen
pett at cgl.ucsf.edu
Mon Aug 29 11:05:25 PDT 2011
Hi Mateusz,
Can you provide a script? When I type the two lines of code you
provided into IDLE ("label_text" instead of "labeltext" of course) I
get no errors, neither the first nor the second time.
That said, the error in the traceback you provided is indicative to
me that you are creating an EntryField from a parent widget that has
been destroyed. When you say "closing the viewer" are you talking
about the GUI for your extension? Perhaps closing it destroys the
widgets and you are somehow reusing some of them the second time?
Also I would recommend making your dialog inherit from
chimera.baseDialog.ModelessDialog. This will allow it (in 1.6 builds)
to be tiled along with other dialogs and to be quickly brought to the
front with the 1.6 Rapid Access "Active Dialogs" list. The "Extension-
Specific User Interface" programmer's example (http://plato.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/index.html
) goes into detail as to how to use a ModelessDialog.
--Eric
Eric Pettersen
UCSF Computer Graphics Lab
http://www.cgl.ucsf.edu
On Aug 28, 2011, at 3:40 PM, 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/44570030/attachment.html>
More information about the Chimera-dev
mailing list