在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
答案 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
是您要寻找的正确设置包装文本格式的常数。您也可以使用RIGHT
或CENTER
(默认值)进行调整。
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”来“证明”你的标签