Автоматическое усечение метки Tkinter - PullRequest
2 голосов
/ 23 октября 2010

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

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

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

Edit:

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

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")

Актуальный код доступен здесь .

1 Ответ

0 голосов
/ 25 октября 2010

Ответ во многом зависит от того, как вы сейчас настроили виджет.

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

>>> 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"

Расскажите нам, что вы делаете в своем коде, чтобы получить более точный (соответствующий вашему коду) ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...