一、label组件用于在屏幕上显示文本活图像,Label组件仅能显示单一字体的文本,单文本可以跨越多行。另外还可以为其中的个别字符加上下划线
二、如何使用label组件
使用label组件,你可以指定想要显示的内容
三、简单举例:生成一个窗口
importtkinter as tk
app= tk.Tk() #生成顶层窗口
app.title("FishC Demo") #设置标题
#设置label组件,Label是标签的意思,是一个组件,组件放到app下,显示的文字为“我的第二个窗口程序!”
theLabel = tk.Label(app,text="我的第二个窗口程序!")
theLabel.pack()#用于自动条件组建的尺寸
app.mainloop()#窗口的主视界循环
四、封装类形成的tkinter
importtkinter as tkdsclassAPP:#4、通过构造函数__init__设置主函数root
def __init__(self,master):
frame= tk.Frame(master) #引入Frame框架,放入master即传进来的顶层窗口root
frame.pack(side=tk.LEFT,padx=50,pady=50) #自动调整窗口位置,side按钮靠在窗口的那个位置,padx指x轴的长度,pady指y轴的长度
#设置打招呼的按钮
self.hi_there = tk.Button(frame,text = "打招呼",bg="black",fg="red",command=self.say_hi)
self.hi_there.pack()#5、点击打招呼按钮后生成一段打招呼的文字
defsay_hi(self):print("互联网的广大朋友们大家好,我是尘封!")
root= tk.Tk() #1、创建label窗口即顶层窗口
app = APP(root) #2、实例化并且把顶层窗口的root作为一个参数
root.mainloop()#3、进入主视界循环
四、label用于在屏幕上显示文本和图像,但是仅能显示单一字体的文本,但文本可以显示多行,另外,还可以为其中的个别字符加上下划线
1、label用于显示文本和图像,并且使用双缓冲,如果希望显示的数据用户可以进行操作,使用Canvas组件或许更为合适
2、基本用法:
importtkinter as tk
master= tk.Tk() #生成顶层窗口
master.title("设置标题")
w= tk.Label(master,text="hi man")
w.pack()
tk.mainloop()
结果:
如果没有指定Label的大小,那么Label的窗口自适应文本的大小
如果需要改变窗口的大小以及文本的颜色,可以通过:height和width来改变Label的大小,通过foreground(或 fg)和 background(或 bg)来设置Label的前景色和背景色,也可以选择Label中的文本用那种字体显示
3、label多行显示,可以直接使用换行符或者使用wraplength选项来实现,可以使用anchor和justify选项来使的文本如你所希望的显示出来
importtkinter as tkfrom tkinter import *master= tk.Tk() #生成顶层窗口
master.title("设置标题")
longtext= """独立寒秋,湘江北去,橘子洲头。
看万山红遍,层林尽染;漫江碧透,百舸争流。
鹰击长空,鱼翔浅底,万类霜天竞自由。
怅寥廓,问苍茫大地,谁主沉浮?
携来百侣曾游。忆往昔峥嵘岁月稠。
恰同学少年,风华正茂;书生意气,挥斥方遒。
指点江山,激扬文字,粪土当年万户侯。
曾记否,到中流击水,浪遏飞舟?"""w= tk.Label(master,text=longtext,font="翩翩体-简, 14",fg="green",height="20",width="40")#w = tk.Label(master,text=longtext,anchor=W, justify=LEFT) 字体靠左显示
w.pack()
tk.mainloop()
执行结果:
4、Label显示变量的文本,可以自己填写内容
importtkinter as tkfrom tkinter import *master= tk.Tk() #生成顶层窗口
master.title("设置标题")
v= StringVar()#w = tk.Label(master,textvariable=v,font="翩翩体-简, 14",fg="green",height="20",width="40")#w = tk.Label(master,text=longtext,anchor=W, justify=LEFT)
w = Label(master, textvariable=v,fg="green",height="20",width="40").pack()
v.set("~新的文本~")
tk.mainloop()
5、Label显示图片
from tkinter import *
root = Tk()
textLabel = Label(root,text="您所下载的影片含有未成年人限制内容,请满18周岁后再点击!").pack(side=LEFT)
photo = PhotoImage(file="18.gif")#PhotoImage是图片的字符
imgLabel = Label(root,image=photo).pack(side=RIGHT)#image=photo
mainloop()
执行结果:
文本内容太长,换行:通过\n转移符来换行,并且使文本左对齐(通过:justify=LEFT实现)
from tkinter import *root=Tk()
root.title("老王下黄片")
textLabel= Label(root,text="您所下载的影片含有未成年人限制内容,\n请满18周岁后再点击!",
justify=LEFT,
padx=10).pack(side=LEFT)
photo= PhotoImage(file="18.gif")
imgLabel= Label(root,image=photo).pack(side=RIGHT)
mainloop()
执行结果:
6、图片显示背景,文字显示在图片上面,关键字:compound
from tkinter import *root=Tk()
photo= PhotoImage(file="bg.gif")
theLabel=Label(root,
text= "跟着尘封学Python",
justify=LEFT,
image=photo,
compound=CENTER, #混合模式,采用compound关键字
font=("华康少女字体",18),
fg="white").pack()
mainloop()
执行结果:
https://fishc.com.cn/thread-59087-1-3.html