如何在python中的tkinter中标记文本中的文本需要在tkinter中进行调整

时间:2016-05-19 08:38:43

标签: python tkinter alignment

在Python中的Tkinter: 我有一张带有不同标签的桌子。我如何证明标签中的文字是正确的?因为它是一张桌子,不同标签的文字汇集在一起​​!

from tkinter import *
root=Tk()
a=Label(root,text='Hello World!')
a.pack()
a.place(x=200,y=200)
b=Label(root,text='Bye World')
b.pack()
b.place(x=200,y=100)

我想要一些东西在中心证明标签中的某些文字,但这不是我需要的东西plz检查这个:link

3 个答案:

答案 0 :(得分:14)

默认情况下,标签中的文本位于标签的中心。您可以使用anchor属性进行控制,也可以使用justify属性进行控制。 justify仅在窗口小部件中有多行文本时影响文本。

例如,要使标签内的文字右对齐,您可以使用anchor="e"

a=Label(root,text='Hello World!', anchor="e")

但请注意,如果标签大小足以容纳文本,则此效果似乎无效。在您的具体示例中,您需要为每个标签指定相同的宽度:

a=Label(..., width=12)
b=Label(..., width=12)

答案 1 :(得分:6)

要补充Bryan所说的内容,LEFT是您要寻找的正确设置包装文本格式的常数。您也可以使用RIGHTCENTER(默认值)进行调整。

a=Label(root,text='Hello World!', anchor="e", justify=LEFT)

答案 2 :(得分:5)

而不是使用.pack()我会使用.grid() http://effbot.org/tkinterbook/grid.htm

网格可以更好地管理您的组件

下面是一个使用和管理的例子:

Label(root, text="First").grid(row=0, sticky=W)
Label(root, text="Second").grid(row=1, sticky=W)

entry1 = Entry(root)
entry1 = Entry(root)

entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)

checkbutton.grid(columnspan=2, sticky=W)

image.grid(row=0, column=2, columnspan=2, rowspan=2,
           sticky=W+E+N+S, padx=5, pady=5)

button1.grid(row=2, column=2)
button2.grid(row=2, column=3)

你最终会使用网格选项padx =“x”来“证明”你的标签