• 【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

  • 相关阅读:
    git --解决fatal: Not a git repository
    Linux --常见Linux目录名称
    Python--oop面向对象的学习1
    python --集合set的学习
    python --error整理(不定时更新)
    vue自定义指令获取焦点及过滤器修改时间
    解决GitHub push项目——Push failed: Unable to access 'https://********.git/': Failed to connect to 127.0.0.1 port 1080: Connection refused
    vue项目报错,解决Module build failed: Error: Cannot find module 'node-sass' 问题
    webpack打包过程及开发过程
    安装webpack的流程及注意事项
  • 原文地址:https://www.cnblogs.com/frankruby/p/10475356.html
Copyright © 2020-2023  润新知