tkinter Label 的对齐属性

width=18 Label宽不是18px,而是18个字符(在本例中相当于168px)

wraplength=130 表示文字宽度不超130px。(本例中,Label宽168px,文字容器宽130px)

anchor 表示文字容器紧贴Label的哪一则

justify 仅在多行时才生效,单行文本中这个参数是不起效果的。它表示文字紧贴文字容器的哪一则。

 

from tkinter import *

root = Tk()
root.title("Label对齐Demo")
root.geometry("500x850")

Label(root, text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜', bg='PaleGreen').place(x=10,y=0)

Label(root, text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜', bg='PaleGreen', width=18).place(x=10,y=60)

Label(root, text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜', bg='Wheat', width=18, anchor='w').place(x=10,y=120)

Label(root, text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜', bg='PaleGreen', width=18, wraplength=130).place(x=10,y=180)

Label(root, text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜', bg='Wheat', width=18, wraplength=130, anchor='w').place(x=10,y=300)

Label(root, text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜', bg='Wheat', width=18, wraplength=130, anchor='w', justify='left').place(x=10,y=420)

Label(root, text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜', bg='Cornsilk', width=18, wraplength=130, anchor='e', justify='left').place(x=10,y=540)

Label(root, text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜', bg='Cornsilk', width=18, wraplength=130, anchor='e', justify='right').place(x=10,y=660)

root.mainloop()

 justify 仅在多行时才生效,单行文本中这个参数是不起效果的。例子:

from tkinter import *

root = Tk()
root.title("Label对齐Demo")
root.geometry("500x300")

Label(root, width=18, wraplength=130, justify='left', text='喂马,劈柴,周游世界 从明天起,关心粮食和蔬菜').place(x=10,y=50)

Label(root, width=18, wraplength=130, justify='left', text='喂马').place(x=10,y=180)
root.mainloop()

参考:https://www.jianshu.com/p/c5de127fbb2d

选项 含义
activebackground 
1. 设置当 Label 处于活动状态(通过 state 选项设置状态)的背景色
2. 默认值由系统指定

activeforeground 
1. 设置当 Label 处于活动状态(通过 state 选项设置状态)的前景色
2. 默认值由系统指定

anchor 
1. 控制文本(或图像)在 Label 中显示的位置
2. "n", "ne", "e", "se", "s", "sw", "w", "nw", 或者 "center" 来定位(ewsn 代表东西南北,上北下南左西右东)
3. 默认值是 "center"

background 
1. 设置背景颜色
2. 默认值由系统指定
bg 跟 background 一样

bitmap 
1. 指定显示到 Label 上的位图
2. 如果指定了 image 选项,则该选项被忽略

borderwidth 
1. 指定 Label 的边框宽度
2. 默认值由系统指定,通常是 1 或 2 像素
bd 跟 borderwidth 一样

compound 
1. 控制 Label 中文本和图像的混合模式
2. 默认情况下,如果有指定位图或图片,则不显示文本
3. 如果该选项设置为 "center",文本显示在图像上(文本重叠图像)
4. 如果该选项设置为 "bottom","left","right" 或 "top",那么图像显示在文本的旁边(如 "bottom",则图像在文本的下方)
5. 默认值是 NONE

cursor 
1. 指定当鼠标在 Label 上飘过的时候的鼠标样式
2. 默认值由系统指定

disabledforeground 
1. 指定当 Label 不可用的时候前景色的颜色
2. 默认值由系统指定

font 
1. 指定 Label 中文本的字体(注:如果同时设置字体和大小,应该用元组包起来,如("楷体", 20)
2. 一个 Label 只能设置一种字体
3. 默认值由系统指定

foreground 
1. 设置 Label 的文本和位图的颜色
2. 默认值由系统指定
fg 跟 foreground 一样

height 
1. 设置 Label 的高度
2. 如果 Label 显示的是文本,那么单位是文本单元
3. 如果 Label 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Label 的内容计算出高度

highlightbackground 
1. 指定当 Label 没有获得焦点的时候高亮边框的颜色
2. 默认值由系统指定,通常是标准背景颜色

highlightcolor 
1. 指定当 Label 获得焦点的时候高亮边框的颜色
2. 默认值由系统指定

highlightthickness 
1. 指定高亮边框的宽度
2. 默认值是 0(不带高亮边框)

image 
1. 指定 Label 显示的图片
2. 该值应该是 PhotoImage,BitmapImage,或者能兼容的对象
3. 该选项优先于 text 和 bitmap 选项

justify 
1. 定义如何对齐多行文本
2. 使用 "left","right" 或 "center"
3. 注意,文本的位置取决于 anchor 选项
4. 默认值是 "center"

padx 
1. 指定 Label 水平方向上的额外间距(内容和边框间)
2. 单位是像素
pady 
1. 指定 Label 垂直方向上的额外间距(内容和边框间)
2. 单位是像素

relief 
1. 指定边框样式
2. 默认值是 "flat"
3. 另外你还可以设置 "groove", "raised", "ridge", "solid" 或者 "sunken"

state 
1. 指定 Label 的状态
2. 这个标签控制 Label 如何显示
3. 默认值是 "normal
4. 另外你还可以设置 "active" 或 "disabled"

takefocus 
1. 如果是 True,该 Label 接受输入焦点
2. 默认值是 False

text 
1. 指定 Label 显示的文本
2. 文本可以包含换行符
3. 如果设置了 bitmap 或 image 选项,该选项则被忽略

textvariable 
1. Label 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容
2. 如果变量被修改,Label 的文本会自动更新

underline 
1. 跟 text 选项一起使用,用于指定哪一个字符画下划线(例如用于表示键盘快捷键) 
2. 默认值是 -1
3. 例如设置为 1,则说明在 Button 的第 2 个字符处画下划线

width 
1. 设置 Label 的宽度
2. 如果 Label 显示的是文本,那么单位是文本单元
3. 如果 Label 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Label 的内容计算出宽度

wraplength 
1. 决定 Label 的文本应该被分成多少行
2. 该选项指定每行的长度,单位是屏幕单元
3. 默认值是 0


                
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值