25

Label部件不换行。小Message部件将换行文本,但强制它大致是方形的。这是一个例子:

from Tkinter import *

root = Tk()
root.title("hello")

Message(root, text=48*'xxxxx ').grid(row=0, column=0, columnspan=3)

Label(root, text='Name:').grid(row=1, column=0)
Entry(root, width=50).grid(row=1, column=1)
Button(root, text="?").grid(row=1, column=2)

Button(root, text="Left").grid(row=2, column=0)
Button(root, text="Center").grid(row=2, column=1)
Button(root, text="Right").grid(row=2, column=2)

root.mainloop()

我知道我可以用它aspect=700来改变形状,但像这样的硬编码数字是我试图避免的。

4

3 回答 3

50

TkinterLabel小部件确实包装了。只是默认设置是不换行。要使文本换行设置wraplength参数,其单位是屏幕单位,因此请尝试wraplength=50根据需要进行调整。您还需要设置justifyLEFTRIGHTCENTER

于 2012-08-14T11:53:31.293 回答
11
welcomenote = Label(root, text="Your long text", font="helvetica 14", 
wraplength=300, justify="center")
welcomenote.pack()
于 2020-04-22T14:38:08.003 回答
3

尝试以下操作:

tk.Label(root, textvariable=text, wraplength=500).pack()

这里 500 是字符被放到下一行之前的像素数量。

于 2019-07-15T15:48:53.703 回答