当前位置:首页>python>python高阶:14、tkinter库(Label组件)

python高阶:14、tkinter库(Label组件)

  • 2026-09-02 20:06:53
python高阶:14、tkinter库(Label组件)
1、tkinter库的导入和主窗口的创建
import tkinter as tk  #以别名tk导入tkinter库win=tk.Tk()    #创建主窗口的实例winwin.title("按钮组件测试窗口")    #设置窗口的标题win.geometry("500x500+600+200")#设置窗口的大小和位置win.resizable(True,False)      #设置窗口可水平缩放,禁止垂直缩放tk.mainloop()  #进入事件处理循环,防止窗口闪退
2、Label组件(类)
在tkinter中,Label(标签)组件主要用于在GUI窗口中显示不可编辑的文本或图像,起到说明和提示作用,是构建界面的基础元素。
(1)标签对象的创建
通过tk.Label()在窗口中创建一个标签对象。最基本的用法是指定它的父窗口(依附在哪里)和要显示的文本内容。
import tkinter as tk  #以别名tk导入tkinter库win=tk.Tk()    #创建主窗口的实例winwin.title("按钮组件测试窗口")    #设置窗口的标题win.geometry("200x200+600+200")#设置窗口的大小和位置win.resizable(True,False)      #设置窗口可水平缩放,禁止垂直缩放label1=tk.Label(win,text="姓名") #创建标签对象label1label1.grid(row=0,column=0)      #布局管理器grid,将组件添加到主窗口的第一行,第一列label2=tk.Label(win,text="年龄")label2.grid(row=1,column=0)      #第二行,第一列tk.mainloop()  #进入事件处理循环,防止窗口闪退
(2)Label组件的常用参数属性
分类
属性名
作用与说明
常用取值示例
内容设置
text
设置标签显示的文本内容
省略,直接看代码效果
textvariable
关联一个变量(如StringVar)
变量值改变时标签文本自动更新
image
显示图片(需传入PhotoImage对象)
compound
同时显示文本和图片时,定义两者的相对位置
文本样式
font
设置字体、大小、样式(粗体/斜体)
("黑体",16,"bold")
fg
前景色,即文字颜色
"red","#FF0000"
bg
背景颜色
"blue","#FFFFFF"
justify
多行文本的对齐方式
left,center,right
anchor
文本在标签内容区内的对齐方向(类似方位)
center(默认),n(北/上),s(南/下),w(西/左),e(东/右),nw(左上)等
wraplength
文本自动换行的宽度(像素),超过该值则换行
150(表示150像素后换行)
underline
给指定索引的字符加下划线(索引从0开始)
-1(无下划线),0(给第一个字加下划线)
布局大小
width
标签的宽度(单位:字符数;若显示图片则为像素)
20(约20个字符宽)
height
标签的高度(单位:字符数;若显示图片则为像素)
2(约2个字符高)
padx
水平方向的内边距(标签内容与左右边框的距离,单位像素)
10
pady
垂直方向的内边距(标签内容与上下边框的距离,单位像素)
5
边框样式
relief
标签边框的立体样式
flat(平,默认),
sunken(凹陷),
raised(凸起),
groove(沟边),
ridge(脊状)
bd
(borderwidth)
边框的宽度(单位像素)
2
交互状态
state
设置标签的状态,disabled通常显示为灰色
normal(正常),
disabled(禁用),
active(活动)
cursor
鼠标悬停在标签上时的光标形状
"arrow","hand2","circle","plus"
(3)内容设置属性的代码示例
import tkinter as tk #以别名tk导入tkinter库win=tk.Tk()#创建主窗口的实例winwin.title("按钮组件测试窗口")#设置窗口的标题win.geometry("200x200+600+200")#设置窗口的大小和位置win.resizable(True,False)#设置窗口可水平缩放,禁止垂直缩放var=tk.StringVar()  #创建StringVar变量var.set("name")     #初始值label1=tk.Label(win,textvariable=var) #创建标签对象label并关联textvariablelabel1.grid(row=0,column=0)      #布局管理器grid,将组件添加到主窗口的第一行,第一列label2=tk.Label(win,text="年龄")label2.grid(row=1,column=0)tk.mainloop()#进入事件处理循环,防止窗口闪退
(4)文本样式属性的代码示例(类似于Button组件,只展示部分属性效果)
import tkinter as tk #以别名tk导入tkinter库win=tk.Tk()#创建主窗口的实例winwin.title("按钮组件测试窗口")#设置窗口的标题win.geometry("200x200+600+200")#设置窗口的大小和位置win.resizable(True,False)#设置窗口可水平缩放,禁止垂直缩放var=tk.StringVar()  #创建StringVar变量var.set("name")     #初始值label1=tk.Label(win,textvariable=var) #创建标签对象label并关联textvariablelabel1.grid(row=0,column=0)      #布局管理器grid,将组件添加到主窗口的第一行,第一列label2=tk.Label(win,text="年龄",font=("黑体",15,"italic"),fg="red",bg="green",underline=0)label2.grid(row=1,column=0)tk.mainloop()#进入事件处理循环,防止窗口闪退
(5)布局大小属性的代码示例
import tkinter as tk #以别名tk导入tkinter库win=tk.Tk()#创建主窗口的实例winwin.title("按钮组件测试窗口")#设置窗口的标题win.geometry("200x200+600+200")#设置窗口的大小和位置win.resizable(True,False)#设置窗口可水平缩放,禁止垂直缩放var=tk.StringVar()  #创建StringVar变量var.set("name")     #初始值label1=tk.Label(win,textvariable=var) #创建标签对象label并关联textvariablelabel1.grid(row=0,column=0)      #布局管理器grid,将组件添加到主窗口的第一行,第一列label2=tk.Label(win,text="年龄",font=("黑体",15,"italic"),fg="red",bg="green",underline=0)label2.grid(row=1,column=0)#使用width,height时,需注意每个汉字占用两个字符单位label3=tk.Label(win,text="性别",width=4,height=2,padx=10,pady=10) label3.grid(row=2,column=0)tk.mainloop()#进入事件处理循环,防止窗口闪退
(6)边框样式与交互状态属性的代码示例
import tkinter as tk #以别名tk导入tkinter库win=tk.Tk()#创建主窗口的实例winwin.title("按钮组件测试窗口")#设置窗口的标题win.geometry("200x200+600+200")#设置窗口的大小和位置win.resizable(True,False)#设置窗口可水平缩放,禁止垂直缩放var=tk.StringVar()  #创建StringVar变量var.set("name")     #初始值label1=tk.Label(win,textvariable=var) #创建标签对象label并关联textvariablelabel1.grid(row=0,column=0)      #布局管理器grid,将组件添加到主窗口的第一行,第一列label2=tk.Label(win,text="年龄",font=("黑体",15,"italic"),fg="red",bg="green",underline=0)label2.grid(row=1,column=0)#使用width,height时,需注意每个汉字占用两个字符单位label3=tk.Label(win,text="性别",width=4,height=2,padx=10,pady=10) label3.grid(row=2,column=0)#cursor属性需要将鼠标放置在标签上面,鼠标的图标会变成加号label4=tk.Label(win,text="身高",relief="raised",bd=5,state="disabled",cursor="plus") label4.grid(row=3,column=0)tk.mainloop()#进入事件处理循环,防止窗口闪退
3、练习(略)

最新文章

随机文章