自动截断Tkinter标签

时间:2010-10-22 22:00:36

标签: python tkinter

我在框架上有一个标签,它会定期更新以显示应用程序的状态。周期性地,正在处理的项目的名称将不适合窗口,并且按照我当前配置标签的方式,窗口会扩展以容纳标签。

理想情况下,我想巧妙地截断标签上的文字(如果有人展开窗口,则展开)。有没有一种简单的方法可以实现这一目标?

实际上,如何根据标签中文字的更改停止窗口扩展?

编辑:

这是我正在处理的代码的近似,它没有表现出所需的行为(底部有一个链接到实际的代码文件):

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

1 个答案:

答案 0 :(得分: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"

告诉我们您在代码中执行的操作是否更准确(适合您的代码)答案。