这很简单。
我的应用底部有一个标签。当用户滚动浏览树视图时,该标签的内容会发生变化。有时,内容多行。
以前,标签会增长/缩小以适应内容。我不喜欢这个,所以我将标签包裹在一个框架中,将所述框架固定在一个固定的高度,然后设置grid_propagate(0)
。它看起来很棒,但现在我的文字已经消失了。
如何为标签指定固定尺寸并保留更新文字的能力?
答案 0 :(得分:1)
您可以为标签指定固定width
lbl1 = Label(root, text = "Stuff....", width = 10)
lbl1.configure(text = "Another longer stuff....")
如果您给它一个固定的width
值,它就不会自动展开。
更新的
这是我尝试过的工作。
from tkinter import *
root = Tk()
canv = Canvas(root,height=17)
canv.grid_propagate(0)
lbl1 = Label(canv,text="First line\nSecond Line")
lbl1.grid(column=0,row=0)
canv.grid(column=0,row=0)
root.mainloop()
我将标签包裹在画布而不是画框中并且它有效(仅显示文字"第一行"出现)。使用画布的height
值。
答案 1 :(得分:0)
而不是Label在框架内使用文本并添加带文本的垂直滚动条。使用在线示例打包框架中的文本和滚动条,然后将它们连接起来。一旦取消了Frame的传播,它就不会调整大小。然后,您可以将Frame设置为您想要的任何大小,甚至在取消Frame的传播之前将Text设置为特定数量的行和文本列,然后您可以在底部显示尽可能多的文本,允许用户如果太大则滚动浏览。