2010-10-22 64 views
1

我有一个标签坐在一个框架上,它会定期更新以显示应用程序的状态。定期处理正在处理的项目的名称将不适合窗口,并以我目前配置标签的方式将窗口扩展为包含标签。Tkinter标签的自动截断

理想情况下,我希望能够巧妙地截断标签上的文本(然后在有人展开窗口时展开)。有没有简单的方法来完成这个?

实际上,我怎样才能停止窗口扩展基于标签文本的变化?

编辑:

这是我对工作没有表现出所需行为的代码的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

我不得不摆弄你的例子,但设置得到它的工作。谢谢! – 2010-10-28 03:07:14