Python GUI编程实战--Tkinter组件详解:Label

Label 控件
在 Tkinter 中, Label 控件用以显示文字和图片. Label 通常被用来展示信息, 而非与用户交互. (注: Label 也可以绑定点击等事件, 只是通常不这么用).

import tkinter as tk

# 创建窗口对象
root = tk.Tk()
#创建标签组件并绑定父组件root
label = tk.Label(root, text="Hello, world!")
# 将label小部件放置到主窗口中
label.pack()
#进入消息循环
root.mainloop()

在这里插入图片描述
语法
lb = Label(master=None,**options)(class)
master – 父组件,在我们这个例子里就是上面的 root 控件. 因此这个 Label 控件是上面的 root 控件的一个子控件.
**option – 组件选项

常用组件选项讲解:
text : 指定文本,文本可包含换行符,如果设置image bitmap,则该选项被忽略。

image : ,指定图像,该值应该是PhotoImage,BitmapImage或者能兼容的对象,该选项优先于text,bitmap。

textvariable : Label显示Tkinter变量-StringVar,如果该变量被修改,Label文本(text)将自动更新。

bacjground<==>bg : 设置背景色

foreground<==>fg :设置前景色

font : 指定字体样式,默认由系统指定,如指定:font=(“微软雅黑”,10)

height : 设置Label的高度, 如果Label是文本,则单位是文本单位,否则为像素,如果为0或者默认,则自动根据Label计算。

width : 设置Label的宽度,如果Label是文本,则单位为文本单位,否则为像素,如果为0或者默认,则自动根据Label计算。

anchor : 控制文本或者图像在label中的显示位置,可选:N,NE,E,SE,S,SW,W,NW,CENTER(EWSN表示东西南北)等,默认值CENTER。

justify : 定义对齐方式,可选:LEFT,RIGHT,CENTER, 默认值为CENTER,注意文本位置取决于anchor选项。

activebackground : 设置活动状态时的背景色

activeforeground : 设置活动状态时的前景色

bitmap : 指定显示到label上的位图,如果指定了image,则该选项忽略。

borderwidth : 指定边框宽度,默认值由系统指定,通常1或者2像素。

compound : 文本和图像混合模式,默认情况下,如果指定位图和图片,则不显示文本,选项设置为CENTER,则文本显示在图像上,如果设置为BOTTOM,LEFT,RIGHT,TOP,那么图像显示在文本的旁边,(BOTTON则图像在文本的下方),默认值是NONE。

cursor : 指定当前鼠标在Label上飘过的时候的鼠标样式,默认系统指定。

disbledforeground : 指定Label不可用时的前景色,默认系统指定。

highightbackground : 指定当Label没有获得焦点时的高亮边框颜色,默认系统指定。

highlightcolor : 当Label获得焦点时的高亮边框颜色,默认系统指定。

highlightthickness : 指定高亮边框的宽度,默认值是0。

padx : 1.x轴间距(像素)
pady : 1.y轴间距(像素)

relief : 指定边框样式,默认值是FLAT,可以设置为:SUNKEN,RAISED,GROOVE,RIDGE。

state : 指定Label的状态,即如何显示Label标签,默认值是NORAML,可设置为:ACTIVE DISABLED。

takefocus : 如果是True,该Label接收输入焦点,默认值为False。

underline : 与text选项一起使用,用户指定那个字符画下划线,默认值是-1,如果设置为1,则从第二个字符出画下划线。

wraplength : 决定label文本将被分成多少行,该选项指定每行的长度,单位是屏幕单元,默认值为0。

PS:诸如 Label, Text, Canvas 等控件, 支持指定字体, 通过 “font” 属性设置即可实现. 需要特别注意的是字体不是平台独立的.
实战内容
1.在Label中显示图片

import tkinter as tk

root = tk.Tk()
# 读取图片
logo = tk.PhotoImage(file="python.gif")
# label展示图片
label_image = tk.Label(root, image=logo).pack(side="right")
explanation = """At present, only GIF and PPM/PGM
formats are supported, but an interface 
exists to allow additional image file
formats to be added easily."""
# label展示文字
label_text = tk.Label(root,
           justify='left',
           padx=10,
           text=explanation).pack(side="left")
root.mainloop()

在这里插入图片描述
2.改变控件内容

import tkinter as tk

counter = 0
def counter_label(label):
    def count():
        global counter
        counter += 1
        label.config(text=str(counter))
        label.after(1000, count)
    count()

root = tk.Tk()
root.title("Counting Seconds")
label = tk.Label(root, fg="green")
label.pack()
counter_label(label)
# 下节预告Button
bt = tk.Button(root, text='Stop', width=25, command=root.destroy)
bt.pack()
root.mainloop()

在这里插入图片描述
今天的label讲解到此结束,希望对大家有所帮助。
下面我们将继续讲解组件Button。敬请期待!
Python交流群:942913325 欢迎大家一起交流学习

猜你喜欢

转载自blog.csdn.net/m0_37903789/article/details/83616935