百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

小白之Tkinter库读文:基础组件-Label 标签(3)

zhezhongyun 2025-03-24 01:31 36 浏览

1.2 Label 标签

说明

Label 是 Tkinter 中用于显示文本或图像的组件。它通常用于在窗口中展示静态内容,如标题、说明或图片。


创建

label = tk.Label(root, text="Hello")
  • 作用:创建一个标签对象。
  • 参数
    • root:父容器(通常是根窗口或其他容器)。
    • text:标签显示的文本内容。

常用选项

以下是 Label 的常用配置选项:

text

  • 说明:设置标签显示的文本内容。
  • 示例
label = tk.Label(root, text="欢迎使用 Tkinter!")

font

  • 说明:设置文本的字体、大小和样式。
  • 示例
label = tk.Label(root, text="Hello", font=("Arial", 16, "bold"))

bg(background)

  • 说明:设置标签的背景颜色。
  • 示例
label = tk.Label(root, text="Hello", bg="yellow")

fg(foreground)

  • 说明:设置标签文本的颜色。
  • 示例
label = tk.Label(root, text="Hello", fg="blue")

width 和 height

  • 说明:设置标签的宽度和高度(以字符数为单位)。
  • 示例
label = tk.Label(root, text="Hello", width=20, height=3)

image

  • 说明:设置标签显示的图像(需要与 PhotoImage 配合使用)。
  • 示例
image = tk.PhotoImage(file="image.png") label = tk.Label(root, image=image)

compound

  • 说明:设置文本和图像的显示方式(如 "top", "bottom", "left", "right", "center")。
  • 示例
label = tk.Label(root, text="Hello", image=image, compound="top")

anchor

  • 说明:设置文本或图像在标签中的对齐方式(如 "n", "s", "e", "w", "center")。
  • 示例
label = tk.Label(root, text="Hello", anchor="w")

padx 和 pady

  • 说明:设置标签内容与边框之间的水平(padx)和垂直(pady)间距。
  • 示例
label = tk.Label(root, text="Hello", padx=10, pady=10)

relief

  • 说明:设置标签的边框样式(如 "flat", "raised", "sunken", "groove", "ridge")。
  • 示例
label = tk.Label(root, text="Hello", relief="sunken")

borderwidth 或 bd

  • 说明:设置标签边框的宽度。
  • 示例
label = tk.Label(root, text="Hello", borderwidth=2)

示例演示

以下是一个完整的示例,展示如何使用 Label 创建和配置标签:

import tkinter as tk

# 创建根窗口
root = tk.Tk()
root.title("Label 示例")
root.geometry("400x300")

# 创建并配置标签
label1 = tk.Label(root, text="这是一个简单的标签", font=("Arial", 16), bg="lightblue", fg="darkblue")
label1.pack(pady=10)

label2 = tk.Label(root, text="带边框的标签", font=("Arial", 14), bg="white", fg="black", relief="sunken", borderwidth=2)
label2.pack(pady=10)

label3 = tk.Label(root, text="带图片的标签", font=("Arial", 12), fg="green")
label3.pack(pady=10)

# 加载图片
image = tk.PhotoImage(file="python_logo.png")  # 请替换为你的图片路径
label4 = tk.Label(root, image=image, compound="top", text="Python Logo", font=("Arial", 10), fg="red")
label4.pack(pady=10)

# 启动主循环
root.mainloop()

代码说明

标签 1

  • 显示文本“这是一个简单的标签”。
  • 字体为 Arial,大小为 16。
  • 背景颜色为浅蓝色,文本颜色为深蓝色。

标签 2

  • 显示文本“带边框的标签”。
  • 字体为 Arial,大小为 14。
  • 背景颜色为白色,文本颜色为黑色。
  • 边框样式为凹陷(sunken),边框宽度为 2。

标签 3

  • 显示文本“带图片的标签”。
  • 字体为 Arial,大小为 12。
  • 文本颜色为绿色。

标签 4

  • 显示图片和文本“Python Logo”。
  • 图片位于文本上方(compound="top")。
  • 字体为 Arial,大小为 10。
  • 文本颜色为红色。

运行效果



  1. 窗口大小为 400x300。
  2. 标签 1 显示简单的文本,带有背景颜色和字体样式。
  3. 标签 2 显示带边框的文本。
  4. 标签 3 显示普通文本。
  5. 标签 4 显示图片和文本的组合。

注意事项

  • 如果使用图片,请确保图片路径正确,并且图片格式支持(如 PNG、GIF)。
  • PhotoImage 对象需要保持引用,否则图片可能无法显示。可以将图片对象保存为全局变量或类的属性。

通过这个示例,你可以掌握 Label 的基本用法,并根据需要配置标签的样式和内容。

相关推荐

3 分钟!AI 从零开发五子棋全过程曝光,网友:这效率我服了

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8...

一行代码实现display&quot;过渡动画&quot;原理

作者:Peter谭老师转发链接:https://mp.weixin.qq.com/s/XhwPOv62gypzq5MhhP-5vg写本文的起因上篇文章,提到如何让display出现过渡动画,却没有仔...

脑洞:琼恩·雪诺、蝙蝠侠和魔形女的灵魂宠物了解一下

AlekseiVinogradovisaRussianfreelancedigitalartistwhoshareshisskillsandtalentwith120k...

浏览器的渲染机制、重绘、重排

1、什么是重排和重绘网页生成过程:HTML被HTML解析器解析成DOM树css则被css解析器解析成CSSOM树结合DOM树和CSSOM树,生成一棵渲染树(RenderTree)生成布局(flo...

托福写作高频考题写作思路&amp;词汇丨考虫独家

科技话题与媒体话题是托福写作的常考话题很多考生对这两类话题里的专有词汇表达也许很不了解所以今天就跟随考虫托福写作老师刘云龙老师一起来学习在这些话题的写作里你可以使用哪些有用的表达。希望大家有收获!记得...

在优麒麟上使用 Electron 开发桌面应用

使用Web标准来创建桌面GUI,上手快、成本低、跨平台、自适应分辨率,这些都是Electron的优势。作者/来源:优麒麟Electron是由Github开发,用HTML、CSS和...

php手把手教你做网站(三十八)jquery 转轮盘抽奖,开盲盒

抽奖和开盲盒性质一样的都是通过ajax读取后台的随机数据。1、转轮盘本来是想直接绘图实现轮盘,但是没有找到怎么填充文字,只好把轮盘弄成了背景图,通常用于游戏抽道具,商城积分抽奖,公司年末员工抽奖点击抽...

用 CSS 整活!3D 轮播图手把手教学,快乐代码敲出来

兄弟们,今天咱来搞点好玩的——用CSS整一个3D轮播图!咱野生程序员就是要在代码里找乐子,技术和快乐咱都得要!代码是写不完的,但咱能自己敲出快乐来,走起!一、先整个容器,搭个舞台咋先写一个...

实现一个超酷的 3D 立体卡片效 #前端开发

今天我们来实现一个超酷的3D立体卡片效果。正常情况下就是一个普通的图片展示卡片,鼠标悬停的时候图片会跳出卡片,并将影子投射到背景卡片上,在视觉上有一个3D立体感。html主要分成3个部分:容器→背景层...

Vue 3 Teleport与Suspense:解决UI难题的两个&quot;隐藏大招&quot;

模态框的"层级噩梦"与Teleport的救赎"这个模态框怎么又被父容器截断了?"团队协作开发后台系统时,小张第N次遇到这个问题。多层嵌套的组件结构里,弹窗被overfl...

让交互更加生动!有意思的鼠标跟随 3D 旋转动效

今天,群友问了这样一个问题,如下所示的鼠标跟随交互效果,如何实现:简单分析一下,这个交互效果主要有两个核心:借助了CSS3D的能力元素的旋转需要和鼠标的移动相结合本文,就将讲述如何使用纯CSS...

填坑:transform元素导致zindex失效终极方法

今天遇到了使用css3动画的元素层级被放大置顶的问题,ios浏览器上没问题,安卓原生浏览器和安卓微信上有问题。使用了css3动画的元素z-index失效,兄弟元素设置多高的z-index都盖不住解决办...

诡异的层级错乱:一个被transform隐藏的CSS陷阱

周五下午三点十七分,设计部突然发来紧急截图——原本应该悬浮在顶部的导航菜单,此刻正诡异地被下方的轮播图遮挡。我盯着屏幕上错乱的层级关系,手指下意识地敲下z-index:9999,心里清楚这不过是程序...

动画篇--碎片动画

本文授权转载,作者:Sindri的小巢(简书)前言从最开始动笔动画篇的博客,至今已经过去了四个多月。这段时间回头看了看自己之前的动画文章,发现用来讲解动画的例子确实不那么的赏心悦目。于是这段时间总是想...

Nature:大洋转换断层处的拉张构造与两阶段地壳增生

Nature:大洋转换断层处的拉张构造与两阶段地壳增生转换断层是三种基本的板块边界之一,全球总长度超过48000km(Bird,2003),它们的发现为板块构造理论的建立奠定了重要的基础(Wil...