Oddities of Tkinter

Eric Brunel eric_brunel at despammed.com
Tue Jan 24 04:34:19 EST 2006


On 23 Jan 2006 11:28:37 -0800, Tuvas <tuvas21 at gmail.com> wrote:

> I am building a tkinter program. A part of this program is to read data
> from an incoming interface, and depending on the data, will display a
> bit of text on the tk dialog, it decodes this data, so to speak. If one
> command is sent, everything's just fine. When multiple are sent, the
> program will stop responding, and will only continue to respond after
> one types <ctrl>-c. The statement at fault is something like this.
>
> e1=StringVar()
> Label (master,textvariable=e1, width=32).grid(row=44, column=4)
>
> def disp_mes1(text):
>   e1.set(text)
>
> It's the line 31.set(text) that takes so long when there's other
> processes running. I've ran this program sucessfully many times on
> another computer, however, when transfering to another with the same
> OS, this problem was created. Any ideas as to what I might be able to
> do to fix this problem?

I've already seen this kind of problems when trying to do Tkinter calls  
 from other threads than the one from which the mainloop was started. Are  
there any threads involved?

I also know that tk can take a very long time on such requests when there  
are "unusual" non-ascii characters to display (CJK for example) as it  
automatically looks for a font that will be able to render it; it may take  
a very long time, especially if there are many installed fonts. Do you try  
to display such characters?

You also don't tell us what your OS is. It may help...
-- 
python -c "print ''.join([chr(154 - ord(c)) for c in  
'U(17zX(%,5.zmz5(17;8(%,5.Z65\'*9--56l7+-'])"



More information about the Python-list mailing list