【Python64-tkinter_label组件】

一、label组件用于在屏幕上显示文本活图像,Label组件仅能显示单一字体的文本,单文本可以跨越多行。另外还可以为其中的个别字符加上下划线

二、如何使用label组件

使用label组件,你可以指定想要显示的内容

三、简单举例:生成一个窗口

import tkinter as tk

app = tk.Tk() #生成顶层窗口
app.title("FishC Demo") #设置标题

#设置label组件,Label是标签的意思,是一个组件,组件放到app下,显示的文字为“我的第二个窗口程序!”
theLabel = tk.Label(app,text="我的第二个窗口程序!")
theLabel.pack() #用于自动条件组建的尺寸

app.mainloop() #窗口的主视界循环

四、封装类形成的tkinter

import tkinter as tkds

class APP:
    #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、点击打招呼按钮后生成一段打招呼的文字
    def say_hi(self):
        print("互联网的广大朋友们大家好,我是尘封!")
        

root = tk.Tk() #1、创建label窗口即顶层窗口
app = APP(root) #2、实例化并且把顶层窗口的root作为一个参数

root.mainloop() #3、进入主视界循环

 四、label用于在屏幕上显示文本和图像,但是仅能显示单一字体的文本,但文本可以显示多行,另外,还可以为其中的个别字符加上下划线

1、label用于显示文本和图像,并且使用双缓冲,如果希望显示的数据用户可以进行操作,使用Canvas组件或许更为合适

2、基本用法:

import tkinter 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选项来使的文本如你所希望的显示出来

import tkinter as tk
from 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显示变量的文本,可以自己填写内容

import tkinter as tk
from 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()

执行结果:

文本内容太长,换行:通过 转移符来换行,并且使文本左对齐(通过:justify=LEFT实现)

from tkinter import *

root = Tk()
root.title("老王下黄片")

textLabel
= Label(root,text="您所下载的影片含有未成年人限制内容, 请满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

原文地址:https://www.cnblogs.com/frankruby/p/10475356.html