PythonTkinterLabel使用步骤示例详解

Written by

in

文章目录
  • Tkinter 的 Label 是用于显示文本、图像或同时显示图文的基础组件,不可直接编辑,常用来展示提示信息、标题、静态内容等,是 GUI 界面中最常用的组件之一。
  • 使用 Label 需遵循导入模块→创建主窗口→实例化 Label→布局显示的核心流程 # 1. 导入tkinter模块(Python3 统一为tkinter,Python2为Tkinter) import tkinter as tk # 2. 创建主窗口对象(GUI程序的根容器) root = tk.Tk() root.title(“Label基础使用”) # 设置窗口标题 root.geometry(“300×200″) # 设置窗口大小:宽x高(像素) # 3. 实例化Label组件,绑定到主窗口 # 最基础用法:指定父容器(master)和显示文本(text) label = tk.Label( master=root, # 必选:指定Label所属的父容器(此处为主窗口root) text=”Hello Tkinter Label!” # 核心参数:要显示的文本 ) # 4. 布局显示Label(关键:tkinter组件必须通过布局管理器显示,否则不可见) label.pack() # 简单布局,自动居中适配 # 5. 启动主事件循环(让窗口保持运行,等待用户操作) root.mainloop()
  • 参数 作用 示例 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)必须通过布局管理器添加到父容器,否则不会显示,核心有 3 种布局,各有适用场景: 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) 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) 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”) # 相对坐标+居中对齐
  • 仅显示图像(支持 png/gif)tkinter 内置 PhotoImage 用于加载图像,注意:变量需保持引用(不可匿名),否则图像会被垃圾回收导致不显示: import tkinter as tk 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() 图文混排(图像 + 文本)通过 compound 参数控制图像和文本的相对位置,结合 text 和 image 参数实现: import tkinter as tk root = tk.Tk() root.title(“Label图文混排”) # 加载图像 img = tk.PhotoImage(file=”icon.png”) # 图文混排:图像在左,文本在右,字体加粗,带内边距 mix_label = tk.Label( root, image=img, text=”Python Tkintern图文混排示例”, font=(“宋体”, 11, “bold”), compound=”left”, # 图像在左,可选:right/top/bottom/center padx=10, pady=8, fg=”#333333″ ) mix_label.pack() root.mainloop() 到此这篇关于Python Tkinter Label 使用的文章就介绍到这了,更多相关Python Tkinter Label 内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: python的tkinter中如何改变label背景颜色 python使用tkinter调整label背景颜色的测试 Python tkinter中label控件动态改变值问题 python图形用户界面tkinter之标签Label的使用说明 对Python中TKinter模块中的Label组件实例详解 python 实现在tkinter中动态显示label图片的方法 Python tkinter label 更新方法
  • 目录
    • 前言
    • 一、核心使用步骤(基础示例)
    • 二、Label 核心常用参数
    • 三、tkinter 三种布局管理器(Label 显示必备)
    • 四、进阶用法:显示图像 / 图文混排

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

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

    # 1. 导入tkinter模块(Python3 统一为tkinter,Python2为Tkinter)
    import tkinter as tk
    # 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()

    参数 作用 示例
    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)必须通过布局管理器添加到父容器,否则不会显示,核心有 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 用于加载图像,注意:变量需保持引用(不可匿名),否则图像会被垃圾回收导致不显示:
    import tkinter as tk
    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 参数实现:
    import tkinter as tk
    root = tk.Tk()
    root.title("Label图文混排")
    # 加载图像
    img = tk.PhotoImage(file="icon.png")
    # 图文混排:图像在左,文本在右,字体加粗,带内边距
    mix_label = tk.Label(
        root,
        image=img,
        text="Python Tkintern图文混排示例",
        font=("宋体", 11, "bold"),
        compound="left",  # 图像在左,可选:right/top/bottom/center
        padx=10,
        pady=8,
        fg="#333333"
    )
    mix_label.pack()
    root.mainloop()

    到此这篇关于Python Tkinter Label 使用的文章就介绍到这了,更多相关Python Tkinter Label 内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • python的tkinter中如何改变label背景颜色
    • python使用tkinter调整label背景颜色的测试
    • Python tkinter中label控件动态改变值问题
    • python图形用户界面tkinter之标签Label的使用说明
    • 对Python中TKinter模块中的Label组件实例详解
    • python 实现在tkinter中动态显示label图片的方法
    • Python tkinter label 更新方法

    站内搜索