二、tk组件——标签

本文最后更新于:2022年5月19日 下午

tk组件——标签

  1. 如果曾经学习过GUI编程,相信一定不会对组件陌生,组件就是widget,常见的比如标签、按钮、文本框、输入框······
  2. 我们可以在一个窗口里增加若干个组件来美化窗口和增添新功能
  3. 标签就是在其他控件前面贴上一个简短的说明,标签内容是文字信息

tk核心组件

tkinter使用频率比较高的核心组件有以下21个:

Toplevel、Label、Button、Canvas、Checkbutton、Entry、Frame、LabelFrame、Listbox、Menu、Menubutton、Message、OptionMenu、PaneWindow、Radiobutton、Scale、Scrollbar、Spinbox、Text、Bitmap、Image

用法

增加一个Lable,语法格式如下:

1
w = Label ( master, option, ... )

其中master是父框架,option是可选参数

看看源代码中Lable类及其参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Label(Widget):
"""Label widget which can display text and bitmaps."""
"""标签小组件,可以显示文本和位图。"""

def __init__(self, master=None, cnf={}, **kw):
"""Construct a label widget with the parent MASTER.
用父级MASTER构建一个标签部件。

STANDARD OPTIONS

activebackground, activeforeground, anchor,
background, bitmap, borderwidth, cursor,
disabledforeground, font, foreground,
highlightbackground, highlightcolor,
highlightthickness, image, justify,
padx, pady, relief, takefocus, text,
textvariable, underline, wraplength

WIDGET-SPECIFIC OPTIONS

height, state, width

"""
Widget.__init__(self, master, 'label', cnf, kw)

参数详解:

参数 功能
activebackground 背景颜色,当鼠标在小组件上时显示。
activeforeground 前景颜色,当鼠标在小组件上时,将显示。
anchor 这个选项控制文本的定位,如果小组件的空间比文本需要的大。默认值是anchor=tk.center,它将文本置于可用空间的中心。例如,如果你使用anchor=tk.NW,文本将被定位在可用空间的左上角。
bg or background 标签区的背景颜色。
bitmap 将此选项设为位图或图像对象,标签将显示该图形。
bd or borderwidth 标签周围边界的宽度,默认值是两个像素。
compound 如果您希望 “标签 “部件同时显示文本和图形(位图或图像),”复合 “选项指定了图形相对于文本的相对方向。值可以是tk.LEFT, tk.RIGHT, tk.CENTER, tk.BOTTOM, 或tk.TOP中的任何一个。例如,如果你指定compound=BOTTOM,图形将显示在文本的下面。
cursor 鼠标在该标签上时出现的游标。
disabledforeground 当小组件的状态'为tk.DISABLED’时,要显示的前景颜色。
font 如果你在这个标签中显示文本(用texttextvariable选项,font选项指定文本将以何种字体显示。
fg or foreground 如果您在该标签中显示文本或位图,该选项将指定文本的颜色。如果您显示的是位图,这是显示在位图中1比特位置上的颜色。
height 标签的高度,以*行为单位(不是像素!)。如果不设置这个选项,标签的大小将适合其内容。
highlightbackground 当小组件没有焦点时,焦点高亮的颜色。
highlightcolor 当小组件有焦点时,焦点高亮的颜色。
highlightthickness 聚焦高光的厚度。
image 要在标签小组件中显示静态图像,请将此选项设置为图像对象。
justify 指定多行文字如何相互对齐。tk.LEFT表示向左平移,tk.CENTER表示居中(默认),或tk.RIGHT表示右对齐。
padx 额外的空间添加到小组件内的文本的左边和右边。默认为1。
pady 在小组件内的文本上方和下方增加的额外空间。默认为1。
relief 指定标签周围装饰性边框的外观。默认值是tk.FLAT
state 默认情况下, Entry部件处于tk.NORMAL状态. 将此选项设置为tk.DISABLED以使它对鼠标事件没有反应。当鼠标在小组件上时,该状态将是tk.ACTIVE
takefocus 通常情况下,焦点不会在Label部件中循环,如果你想让这个小组件被焦点访问,设置takefocus=1
text 要在一个标签部件中显示一行或多行文本,请将此选项设置为包含文本的字符串。内部换行符(\n)将强制换行。
textvariable 要将标签部件中显示的文本从属于一个StringVar类的控制变量,将这个选项设置为该变量。
underline 你可以在文本的第*n个字母下面显示下划线(_),从0开始计算,把这个选项设为n*。默认是underline=-1,这意味着没有下划线。
width 标签的宽度,单位是字符(不是像素!)。如果不设置这个选项,标签的大小将适合其内容。
wraplength 你可以通过设置该选项来限制每行的字符数。默认值为0,意味着只有在换行时才会断行。

下面是代码示例:

1
2
3
4
5
6
7
import tkinter as tk  # 引入了该模块

root = tk.Tk() # 实例化Tk这个类
root.wm_title("OCR") # 设置窗口标题
w = tk.Label(root, text="这是标签")
w.pack()
root.mainloop() # 让窗口一直执行,事件循环

下面是运行效果截图:

新增标签

可以看到该类有个pack方法,我们后面再讲,是属于布局的一种。


二、tk组件——标签
https://jialiangz.github.io/2021/11/18/tkinter-2/
作者
爱吃菠萝
发布于
2021年11月18日
更新于
2022年5月19日
许可协议