news 2026/4/3 4:53:00

Python Tkinter Label 使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python Tkinter Label 使用

前言

Tkinter 的 Label 是用于显示文本、图像或同时显示图文的基础组件,不可直接编辑,常用来展示提示信息、标题、静态内容等,是 GUI 界面中最常用的组件之一。

一、核心使用步骤(基础示例)

使用 Label 需遵循导入模块→创建主窗口→实例化 Label→布局显示的核心流程

# 1. 导入tkinter模块(Python3 统一为tkinter,Python2为Tkinter)importtkinterastk# 2. 创建主窗口对象(GUI程序的根容器)root=tk.Tk()root.title("Label基础使用")# 设置窗口标题root.geometry("300x200")# 设置窗口大小:宽x高(像素)# 3. 实例化Label组件,绑定到主窗口# 最基础用法:指定父容器(master)和显示文本(text)label=tk.Label(master=root,# 必选:指定Label所属的父容器(此处为主窗口root)text="Hello Tkinter Label!"# 核心参数:要显示的文本)# 4. 布局显示Label(关键:tkinter组件必须通过布局管理器显示,否则不可见)label.pack()# 简单布局,自动居中适配# 5. 启动主事件循环(让窗口保持运行,等待用户操作)root.mainloop()

二、Label 核心常用参数

参数作用示例
master必选,指定父容器(窗口 / 框架 Frame 等)master=root
text显示的文本内容,支持\n换行text=“第一行\n第二行文本”
font字体配置,格式(字体名, 字号, 样式),样式可选bold(粗体)/italic(斜体)font=(“微软雅黑”, 12, “bold”)
fg前景色(文本颜色),支持英文色名 / 十六进制fg=“red” 或 fg=“#FF0000”
bg背景色(Label 组件的底色)bg=“lightgray” 或 bg=“#F5F5F5”
width组件宽度,文本组件按字符数计算,图像组件按像素width=20(显示 20 个字符宽度)
height组件高度,文本组件按字符行数计算,图像组件按像素height=3(显示 3 行字符高度)
anchor内容对齐方式,基于方位词:N (上)、S (下)、E (右)、W (左)、CENTER (中),可组合(如 NE = 右上)anchor=“w”(左对齐)
padx/pady组件内边距,x/y 方向的空白区域(像素),避免内容贴边padx=10, pady=5
image显示的图像,需配合PhotoImage加载(支持 png/gif,不直接支持 jpg,需额外处理)显示图像」示例
compound图文混排时的位置,可选:left/right/top/bottom/center(图像在文本的对应方位)compound=“left”(图像在左,文本在右)

三、tkinter 三种布局管理器(Label 显示必备)

tkinter 组件(包括 Label)必须通过布局管理器添加到父容器,否则不会显示,核心有 3 种布局,各有适用场景:

  1. pack ():简单快速,自动适配
    适用场景:快速布局、组件上下 / 左右排列,无需精确控制位置
# 两个Label上下排列,左对齐label1=tk.Label(root,text="第一个Label",fg="blue")label2=tk.Label(root,text="第二个Label",fg="green")label1.pack(anchor="w",padx=10,pady=5)# 左对齐,x/y内边距label2.pack(anchor="w",padx=10)
  1. grid ():网格布局,精确行列控制
    适用场景:需要按「行 + 列」精确排列组件(如表单、数据展示),支持跨行 / 跨列。
    核心参数:row(行号,从 0 开始)、column(列号,从 0 开始)、rowspan(跨行数)、columnspan(跨列数)。
# 3行2列的Label网格,带内边距tk.Label(root,text="行0列0",bg="pink").grid(row=0,column=0,padx=5,pady=5)tk.Label(root,text="行0列1",bg="pink").grid(row=0,column=1,padx=5,pady=5)tk.Label(root,text="行1列0(跨2列)",bg="lightblue").grid(row=1,column=0,columnspan=2,padx=5,pady=5)tk.Label(root,text="行2列0",bg="lightgreen").grid(row=2,column=0,padx=5,pady=5)tk.Label(root,text="行2列1",bg="lightgreen").grid(row=2,column=1,padx=5,pady=5)
  1. place ():绝对定位,精确坐标控制
    适用场景:需要按「像素坐标」精确控制组件位置,适合定制化界面(缺点:窗口缩放时组件位置不会自动适配)。
    核心参数:x(距父容器左边界的像素)、y(距父容器上边界的像素)、relx/rely(相对坐标,0~1,基于父容器大小)。
# 绝对坐标:x=50,y=30;相对坐标:relx=0.5(水平居中),rely=0.6(垂直60%位置)label1=tk.Label(root,text="绝对定位(50,30)",bg="yellow")label2=tk.Label(root,text="相对定位(居中)",bg="orange")label1.place(x=50,y=30)# 绝对坐标label2.place(relx=0.5,rely=0.6,anchor="center")# 相对坐标+居中对齐

四、进阶用法:显示图像 / 图文混排

  1. 仅显示图像(支持 png/gif)
    tkinter 内置 PhotoImage 用于加载图像,注意:变量需保持引用(不可匿名),否则图像会被垃圾回收导致不显示:
importtkinterastk root=tk.Tk()root.title("Label显示图像")# 加载图像(支持png/gif,路径可为绝对路径/相对路径)# 关键:img变量必须保留,不能写成 tk.PhotoImage(file="logo.png")img=tk.PhotoImage(file="logo.png")# 替换为你的图像路径# 实例化Label,指定image参数img_label=tk.Label(root,image=img,width=100,height=100)img_label.pack(pady=20)root.mainloop()
  1. 图文混排(图像 + 文本)
    通过 compound 参数控制图像和文本的相对位置,结合 text 和 image 参数实现:
importtkinterastk root=tk.Tk()root.title("Label图文混排")# 加载图像img=tk.PhotoImage(file="icon.png")# 图文混排:图像在左,文本在右,字体加粗,带内边距mix_label=tk.Label(root,image=img,text="Python Tkinter\n图文混排示例",font=("宋体",11,"bold"),compound="left",# 图像在左,可选:right/top/bottom/centerpadx=10,pady=8,fg="#333333")mix_label.pack()root.mainloop()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 5:37:55

别犹豫!2026 网络安全行业现状,能不能入一看便知

2026年了,网络安全这行怎么样,还能走这个赛道吗 转眼进入2026年,数字化浪潮裹挟着人工智能、物联网等新技术持续深化,与此同时,网络攻击的智能化、产业化趋势也愈发明显。不少从业者和求职者都在观望:网络…

作者头像 李华
网站建设 2026/3/31 18:04:19

2026年度精选盘点,原创音乐人喜欢使用的5款AI编曲软件分享

在当今科技飞速发展的时代,音乐创作领域正经历着一场前所未有的变革。AI技术的兴起,为原创音乐人带来了全新的创作方式和无限的可能。AI编曲软件以其强大的功能和高效的创作能力,逐渐成为了音乐人手中的得力工具。今天,就为大家盘…

作者头像 李华
网站建设 2026/3/27 7:40:27

一文解析亚像素技术如何重塑机器视觉

在精密制造与高精度检测领域,机器视觉系统的测量精度直接决定了其应用价值的上限。传统基于整像素的图像处理技术,其精度被传感器的物理像素网格所局限,难以满足微米级乃至更高层次的工业测量需求。例如,在检测芯片焊点或测量机械…

作者头像 李华
网站建设 2026/4/1 15:23:01

靠CAXA CAD编程,我们找到最实在的突破口

厂里最近大半年总在提数字化转型,说实话我一开始挺懵的,觉得这就是个高大上的空概念,跟我们一线数控操作工好像没多大关系,总想着“这么大的事儿,轮不到我们操心”。直到我试着用CAXA CAD数控编程干活,才真…

作者头像 李华
网站建设 2026/3/28 22:06:17

[Web自动化] Selenium执行JavaScript语句

10.3 Selenium执行JavaScript语句 在 Selenium 中,你可以使用 execute_script() 或 execute_async_script() 方法来执行 JavaScript 语句。 以下是一些实用的例子: 10.3.1 执行简单的 JavaScript 语句 from selenium import webdriver driver webdri…

作者头像 李华
网站建设 2026/3/28 2:59:41

性能提升300%!混合推理在AI原生应用中的实战案例

性能提升300%!混合推理在AI原生应用中的实战案例 关键词:混合推理、AI原生应用、模型调度、多精度计算、性能优化 摘要:在AI原生应用(如实时推荐、智能客服、自动驾驶)中,推理性能直接影响用户体验和业务成…

作者头像 李华