zoukankan      html  css  js  c++  java
  • Tkinter 组件详解(一):Label

    Tkinter 组件详解之Label

    Label(标签)组件用于在屏幕上显示文本或图像。Label 组件仅能显示单一字体的文本,但文本可以跨越多行。另外,还可以为其中的个别字符加上下划线(例如用于表示键盘快捷键)。

    何时使用 Label 组件?

    Label 组件用于显示文本和图像,并且使用双缓冲,这样你就可以随时更新内容,没有恼人的闪烁。

    如果希望显示的数据用户可以进行操作,使用 Canvas 组件或许更为合适。

    用法

    使用 Label 组件,你可以指定想要显示的内容(可以是文本、位图或者图片):

    import tkinter as tk
     
    master = tk.Tk()
     
    w = tk.Label(master, text="你好,来自江南的你!")
    w.pack()
     
    master.mainloop()

    如果你没有指定 Label 的大小,那么 Label 的尺寸是正好可以容纳其内容而已,如下:

    当然你可以通过 height 和 width 选项来明确设置 Label 的大小:如果你显示的是文本,那么这两个选项是以文本单元为单位定义 Label 的大小;如果你显示的是位图或者图像,那么它们以像素为单位(或者其他屏幕单元)定义 Label 大小。

    你可以通过 foreground(或 fg)和 background(或 bg)选项来设置 Label 的前景色和背景色。你也可以选择 Label 中的文本用哪种字体来显示。指定颜色和字体时需谨慎,除非你有一个很好的理由,否则建议使用默认值(主要是考虑到不同平台的兼容性)。

    w = tk.Label(master, text="你好,来自江南的你", font=("华文行楷", 20), fg="green")

    注:你还可以使用 #RRGGBB 的格式指定具体的颜色值,例如 "#%02x%02x%02x" % (123, 188, 233)

    Label 可以显示多行文本,你可以直接使用换行符或使用 wraplength 选项来实现。当文本换行的时候,你可以使用 anchor 和 justify 选项来使得文本如你所希望的显示出来:

    1 longtext = """
    2 Label 可以显示多行文本,你可以直接使用换行符
    3 或使用 wraplength 选项来实现。当文本换行的时
    4 候,你可以使用 anchor 和 justify 选项来使得
    5 文本如你所希望的显示出来。
    6 """
    7 w = tk.Label(master, text=longtext, anchor="w", justify="left")

    Label 可以显示 Tkinter 变量的内容。言下之意就是当变量的内容发生改变时,Label 中显示的内容也会自动更新:

    1 v = tk.StringVar()
    2 w = tk.Label(master, textvariable=v)
    3 v.set("~新的文本~")
    4 w.pack()

    你可以使用 Label 显示 PhotoImage 和 BitmapImage 对象。当你这么做的时候,请务必保留一份图片对象的引用,以防止被 Python 的垃圾回收机制回收。你可以使用一个全局变量,或一个实例的属性,或者再简单点,在实例上添加一个属性即可:

    1 photo = tk.PhotoImage(file="python.gif")
    2 w = tk.Label(master, image=photo)
    3 w.pack()

    参数

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

    master -- 父组件

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

    版权声明:本文为CSDN博主「来自江南的你」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_41556318/java/article/details/85079411

  • 相关阅读:
    解决tmux在PuTTY下工作异常的问题
    使用 Tmux 强化终端功能
    Redis的五种数据结构
    Kubernetes(k8s) docker集群搭建
    C# 正则表达式大全
    C#异步编程(async and await)及异步方法同步调用
    ASP.NET MVC同时支持web与webapi模式
    ActiveX IE保护模式下的低权限操作路径及Windows操作系统特殊路径
    C#文件夹权限操作工具类
    C#创建文件夹并设置权限
  • 原文地址:https://www.cnblogs.com/zpw-1/p/13072381.html
Copyright © 2011-2022 走看看