2010-10-22 2 views
1

У меня есть ярлык, сидящий на кадре, который периодически обновляется, чтобы показать статус приложения. Периодически имя обрабатываемого элемента не будет вписываться в окно, и с тем, как я в настоящее время настроил метку, окно расширяется для размещения метки.Автоматическое усечение метки Tkinter

В идеале, я хотел бы, чтобы ухитрить текст на этикетке (а затем развернуть, если кто-то расширяет окно). Есть ли простой способ сделать это?

Практически говоря, как я могу просто остановить расширение окна на основе изменений текста в метке?

Edit:

Это aproximation кода я работаю, не проявляет желаемое поведение (есть ссылка в нижней части до фактического кода файла):

r = tk.Tk()    
statusFrame = tk.Frame(r, relief=tk.SUNKEN, borderwidth=2) 
statusFrame.pack(anchor=tk.SW, fill=tk.X, side=tk.BOTTOM) 
statusVar = tk.StringVar()  
statusVar.set("String")     
tk.Label(statusFrame, textvariable=statusVar).pack(side=tk.LEFT) 
statusVar.set("this is a long text, window size should remain the same") 

Фактический код here.

ответ

0

Ответ зависит от способа настройки виджета.

Например, я могу получить нужную функциональность, как например:

>>> import Tkinter as tk 
>>> r=tk.Tk() 
>>> r.title('hello') 
'' 
>>> l= tk.Label(r, name='lbl', width=20, text='reduce the window width') 
>>> l.pack(fill=tk.BOTH) # or tk.X, depends; check interactive resizing now 
>>> l['text']= "This is a long text, window size should remain the same" 

Расскажите нам, что вы делаете в вашем коде для более точной (подходит для вашего кода) ответа.

+0

Мне пришлось немного поиграть с вашим примером, но настройки заставили его работать. Благодаря! –

Смежные вопросы