Python 如何使用Tkinter创建填充窗口宽度的换行文本?
Python 如何使用Tkinter创建填充窗口宽度的换行文本?,python,tkinter,Python,Tkinter,标签小部件不换行。消息小部件将对文本进行换行,但强制其大致为方形。下面是一个例子: 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).gri
标签
小部件不换行。消息
小部件将对文本进行换行,但强制其大致为方形。下面是一个例子:
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
来更改形状,但像这样的硬编码数字是我试图避免的。Tkinter标签
小部件确实可以包装。只是默认设置为“不换行”。要获取要换行的文本,请设置wraplength
参数,此参数的单位为屏幕单位,因此请尝试wraplength=50
,并根据需要进行调整。您还需要将justify
设置为LEFT
,RIGHT
,或CENTER
,尝试以下操作:
tk.Label(root, textvariable=text, wraplength=500).pack()
这里500是字符放在下一行之前的像素量。也可以在小部件上设置绑定,以便在小部件更改大小时动态更改换行长度。@JimDenny,屏幕单位是什么意思?我是新来的。你能发一些代码吗?我不知道在哪里插入WRAPLENGTH,所以这个答案没有用。@Brendan只需将这些参数添加到标签小部件中即可。更多细节请参见乌杜克·阿克潘的回答。
welcomenote = Label(root, text="Your long text", font="helvetica 14",
wraplength=300, justify="center")
welcomenote.pack()