Label 标签组件,是最简单的组件之一。它是一个非交互式小部件,其唯一目的是向用户展示文字和图片。
常用属性
属性名 |
说明 |
image |
指定要展示的图片。建议使用 PIL 的 Image, ImageTk模块导入图片,少走弯路详见例子(PhotoImage支持的格式较少,不支持图片缩放) |
compound |
混合模式。当image与text属性一起使用时。设置为CENTER文本则展示在图片上,其他选项包括BOTTOM、LEFT、RIGHT、TOP展示在图片旁边 |
cursor |
指定控件使用的鼠标光标 |
style |
设置样式 |
text |
要在标签中显示的文本字符串 |
textvariable |
指定一个变量,设置展示的文本,并在变量变化时,界面展示的文本自动更新(类似前端Vue中的参数双向绑定) |
underline |
下划线。取值为数字,表示第几位字符开启下划线,取值从0开始,-1为不开启下划线 |
width |
组件宽度 |
anchor |
控制内容在标签内的方向,默认居中。 |
background |
设置背景颜色 |
font |
设置字体 |
foreground |
前景色 |
justify |
文本的对齐方式。取值范围 left(左)、center(中)、right(右)。 |
padding |
组件内边距 (与html中的padding类似) |
Label组件示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# 导入tkinter
from tkinter import *
# 导入ttk
from tkinter.ttk import *
from PIL import Image, ImageTk
# 创建一个窗口
win = Tk()
# 设置标题
win.title("Label 演示 ~ Tkinter布局助手")
# 窗口大小设置
win.geometry("500x200")
txt = StringVar(value="我是Label组件,没有图片")
label1 = Label(win, textvariable=txt) # 给标签绑定一个变量
label1.pack(side=LEFT)
img = Image.open("img.png")
img = img.resize((50, 50))
img = ImageTk.PhotoImage(img)
label2 = Label(win, image=img, text="我是Label组件2,图片在文字上")
label2.configure(compound=TOP)
label2.pack(side=BOTTOM)
label3 = Label(win, image=img, text="混合模式为right 图片在文字右边")
label3.configure(compound=RIGHT) # 混合模式为right 图片在文字右边
label3.pack(side=RIGHT)
# 展示窗口
win.mainloop()
|
Label组件