我在框架上放置了一个标签,该标签会定期更新以显示应用程序的状态。周期性地,正在处理的项目的名称将不适合窗口,并且按照我当前配置标签的方式,窗口会扩展以适应标签。
理想情况下,我希望能够巧妙地截断标签上的文本(然后在有人展开窗口时展开)。有没有一种简单的方法可以做到这一点?
实际上,我怎样才能根据标签中文本的变化停止窗口扩展?
编辑:
这是我正在处理的代码的近似值,它没有表现出所需的行为(底部有一个指向实际代码文件的链接):
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 .
请您参考如下方法:
答案在很大程度上取决于您当前配置小部件的方式。
例如,我可以获得所需的功能:
>>> 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"
告诉我们您在代码中做了什么以获得更精确(适合您的代码)的答案。
