Label

Label(标签)组件用于在屏幕上显示文本或图像,仅能显示单一字体的文本

•参数

Label(master=None, **options) (class)

**options 组件选项,下方表格详细列举了各个选项的具体含义和用法:

选项

含义

activebackground

1. 设置当 Label 处于活动状态(通过 state 选项设置状态)的背景色

2. 默认值由系统指定

activeforeground

1. 设置当 Label 处于活动状态(通过 state 选项设置状态)的前景色

2. 默认值由系统指定

anchor

1. 控制文本(或图像)在 Label 中显示的位置

2. "n", "ne", "e", "se",
"s", "sw", "w", "nw", 或者 "center" 来定位(ewsn 代表东西南北,上北下南左西右东)

3. 默认值是 "center"

background

1. 设置背景颜色

2. 默认值由系统指定

bg

跟 background 一样

bitmap

1. 指定显示到 Label 上的位图

2. 如果指定了 image 选项,则该选项被忽略

borderwidth

1. 指定 Label 的边框宽度

2. 默认值由系统指定,通常是 1 或 2 像素

bd

跟 borderwidth 一样

compound

1.控制 Label 中文本和图像的混合模式

2.默认情况下,如果有指定位图或图片,则不显示文本

3.如果该选项设置为
"center",文本显示在图像上(文本重叠图像)

4.如果该选项设置为 "bottom","left","right" 或 "top",那么图像显示在文本的旁边(如 "bottom",则图像在文本的下方)

5.默认值是 NONE

cursor

1.指定当鼠标在 Label 上飘过的时候的鼠标样式

2.默认值由系统指定

disabledforeground

1.指定当 Label 不可用的时候前景色的颜色

2.默认值由系统指定

font

1. 指定 Label 中文本的字体(注:如果同时设置字体和大小,应该用元组包起来,如("楷体", 20)

2. 一个 Label 只能设置一种字体

3. 默认值由系统指定

foreground

1. 设置 Label 的文本和位图的颜色

2. 默认值由系统指定

fg

跟 foreground 一样

height

1. 设置 Label 的高度
2. 如果 Label 显示的是文本,那么单位是文本单元
3. 如果 Label 显示的是图像,那么单位是像素(或屏幕单元)

highlightbackground

1. 指定当 Label 没有获得焦点的时候高亮边框的颜色

2. 默认值由系统指定,通常是标准背景颜色

highlightcolor

1. 指定当 Label 获得焦点的时候高亮边框的颜色

2. 默认值由系统指定

highlightthickness

1. 指定高亮边框的宽度

2. 默认值是 0(不带高亮边框)

image

1. 指定 Label 显示的图片

2. 该值应该是 PhotoImage,BitmapImage,或者能兼容的对象

3. 该选项优先于 text 和 bitmap 选项

justify

1. 定义如何对齐多行文本

2. 使用 "left","right"
或 "center"

3. 注意,文本的位置取决于 anchor 选项

4. 默认值是 "center"

padx

1. 指定 Label 水平方向上的额外间距(内容和边框间)

2. 单位是像素

pady

1. 指定 Label 垂直方向上的额外间距(内容和边框间)

2. 单位是像素

relief

1. 指定边框样式

2. 默认值是 "flat"

3. 另外你还可以设置 "groove", "raised",
"ridge", "solid" 或者
"sunken"

state

1. 指定 Label 的状态

2. 这个标签控制 Label 如何显示

3. 默认值是 "normal

4. 另外你还可以设置 "active" 或
"disabled"

takefocus

1. 如果是 True,该 Label 接受输入焦点

2. 默认值是 False

text

1. 指定 Label 显示的文本

2. 文本可以包含换行符

3. 如果设置了 bitmap 或 image 选项,该选项则被忽略

textvariable

1. Label 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容

2. 如果变量被修改,Label 的文本会自动更新

underline

1. 跟 text 选项一起使用,用于指定哪一个字符画下划线(例如用于表示键盘快捷键) 

2. 默认值是 -1

3. 例如设置为 1,则说明在 Button 的第 2 个字符处画下划线

width

1. 设置 Label 的宽度

2. 如果 Label 显示的是文本,那么单位是文本单元

3. 如果 Label 显示的是图像,那么单位是像素(或屏幕单元)

4. 如果设置为 0 或者干脆不设置,那么会自动根据 Label 的内容计算出宽度

wraplength

1. 决定 Label 的文本应该被分成多少行

2. 该选项指定每行的长度,单位是屏幕单元

3. 默认值是 0

•基本用法

  1、文字Label

    ①静态文字Label

    ②动态文字Label

  1、图片Label

    ①静态图片Label

    ②动态图片Label

  • 代码

import tkinter
import time root = tkinter.Tk()
root.title('Tkinter')
root.geometry('320x300') def LbCon():
s = time.strftime('%H:%M:%S')
lb21.configure(text=s)
root.after(1000, LbCon) def LbPic():
num = time.strftime('%S')[-1]
file = "E:\\Python\\GUI\\" + num + ".png"
photo = tkinter.PhotoImage(file=file)
lb32.configure(image=photo)
lb32.image = photo
root.after(1000, LbPic) def LbVar():
s = time.strftime('%H:%M:%S')
var.set(s)
root.after(1000, LbVar) # Label
# 1.静态label
lb1 = tkinter.Label(root, text='这是一个静态标签,下面是动态标签', bg='white',
fg='blue', font=('黑体', 15))
lb1.pack() # 2.动态label
# ①configure
lb21 = tkinter.Label(root, text='', fg='red', font=('黑体', 20))
LbCon()
lb21.pack()
# ②textvariable
var = tkinter.StringVar()
lb22 = tkinter.Label(root, textvariable=var, fg='blue', font=('黑体', 20))
lb22.pack()
LbVar() # 3.图片label
# ①静态图片
photo = tkinter.PhotoImage(file="E:\\Python\\GUI\\10.png")
lb31 = tkinter.Label(root, text='静态图片', compound='center', font=('黑体',12), image=photo)
lb31.pack() # ②动态图片
lb32 = tkinter.Label(root, text='动态图片', compound='center', font=('黑体',12))
lb32.pack()
LbPic() root.mainloop()
  • 运行结果

  

Python之GUI用户界面Tkinter(一)的更多相关文章

  1. Python:GUI库tkinter(三)

    这一章是对前两章的总结: Python:GUI库tkinter(一) Python:GUI库tkinter(二) 前两章是对控件的介绍,第一章可以知道各控件使用时的具体参数,第二章以具体的例子展示了每 ...

  2. Python之GUI编程(Tkinter))

    不足之处,还请海涵,请指出不足.本人发布过的文章,会不断更改,力求减少错误信息. 一.重要放在开头:模块 如出现这种错误 ModuleNotFoundError: No module named 'n ...

  3. Python:GUI库tkinter(二)

    学习自: Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) - 洪卫 - 博客园 Tkinter简明教程 - 知乎 TkDocs_官方文档 一个Tkinter库较为全面的总结,很 ...

  4. Python:GUI库tkinter(一)

    学习自: Python GUI 编程(Tkinter) | 菜鸟教程 TkDocs_官方文档 1.几个常用的Python GUI库 tkinter:Python的标准Tk GUI工具包的接口. wxP ...

  5. python之GUI编程-tkinter学习

    推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...

  6. python的GUI框架tkinter,实现程序员的流氓式表白逻辑

    导入依赖 '''导入依赖''' import tkinter as tk import tkinter.messagebox as msg 创建并隐藏根窗口 '''创建并隐藏根窗口''' root_w ...

  7. python的gui库tkinter

    导入tkinter模块 import tkinter as tk 设置窗口名字和大小 frame=tk.Tk() frame.title('数学') frame.geometry('200x440') ...

  8. Python的 GUI 框架

    Python的 GUI 框架 Tkinter Python内嵌的gui环境,使用TCL实现,python IDLE由Tkinter实现 历史悠久,perl中有对应的perlTk.Python标准安装包 ...

  9. 以Tkinter模块来学习Python实现GUI(图形用户界面)编程

    tk是什么:它是一个图形库,支持多个操作系统,使用tcl语言开发的.tkinter是Python内置的模块, 与tk类似的第三方图形库(GUI库)还有很多,比如:Qt,GTK,wxWidget,wxP ...

随机推荐

  1. Firewalld防火墙——基础认知

    Firewalld防火墙 1.Firewalld概述 2.firewalld与iptables 的区别 3.firewalld区域的概念 4.firewalld数据处理流程 5.firewalld检查 ...

  2. 「 题解 」P2487 [SDOI2011]拦截导弹

    简单题意 给定 \(n\) 个数对 \((h_i, v_i)\). 求: 最长不上升子序列的长度. 对于每个 \(i\),分别求出包含数对 \((h_i, v_i)\) 的最长上升子序列的个数和最长不 ...

  3. nodejs串行有关联

    var async = require('async'); //串行无关联series//串行有关联waterfallasync.waterfall([ function(cb) { setTimeo ...

  4. Solution -「UOJ #46」玄学

    \(\mathcal{Description}\)   Link.   给定序列 \(\{a_n\}\) 和 \(q\) 次操作,操作内容如下: 给出 \(l,r,k,b\),声明一个修改方案,表示 ...

  5. 显式锁之ReentrantLock实现

    下图是Lock接口清单,定义了一些抽象的锁操作.Java本身提供了内部锁机制,那么还需要显示Lock,何用?与内部加锁机制不同,Lock提供了无条件.可轮询.定时.可中断的锁获取操作:所有加锁和解锁的 ...

  6. Java高性能本地缓存框架Caffeine

    一.序言 Caffeine是一个进程内部缓存框架,使用了Java 8最新的[StampedLock]乐观锁技术,极大提高缓存并发吞吐量,一个高性能的 Java 缓存库,被称为最快缓存. 二.缓存简介 ...

  7. 00_UML图形分类

    1.   描述对象 类图(Class Diagram) 包图(Package Diagram) 对象图(Object Diagram) 组件图(Component Diagram) 部署图(Deplo ...

  8. 太骚了,用Excel玩机器学习

    最近发现了一个好玩的Python库,它可以将训练好的机器学习模型转换为Java.C.JavaScript.Go.Ruby,VBA 本地代码,可以让连Python和机器学习一无所知的同学也能感受预测的神 ...

  9. 利用SSH隧道加密技术隐蔽C&C通信流量

    在网络攻防博弈中,网络流量特征分析类安全防御措施得到了广泛应用.众多厂商和企业对网络流量进行恶意流量分析检测,从而针对性的采取防御措施,如各级ISP在骨干网络设备上大多采用网络流量分析检测的防御方案. ...

  10. 广度优先搜索(BreadthFirstSearch)& 迪克斯特拉算法 (Dijkstra's algorithm)

    BFS可回答两类问题: 1.从节点A出发,有前往节点B的路径吗? 2.从节点A出发,前往节点B的哪条路径经过的节点最少? BFS中会用到"队列"的概念.队列是一种先进先出(FIFO ...