我在框架上有一个标签,它会定期更新以显示应用程序的状态。周期性地,正在处理的项目的名称将不适合窗口,并且按照我当前配置标签的方式,窗口会扩展以容纳标签。
理想情况下,我想巧妙地截断标签上的文字(如果有人展开窗口,则展开)。有没有一种简单的方法可以实现这一目标?
实际上,如何根据标签中文字的更改停止窗口扩展?
编辑:
这是我正在处理的代码的近似,它没有表现出所需的行为(底部有一个链接到实际的代码文件):
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 :(得分: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"
告诉我们您在代码中执行的操作是否更准确(适合您的代码)答案。