Python Tkinter组件之Label

这篇博客介绍了Python Tkinter库中的GUI编程,特别是Label组件的使用。Label作为显示文本和图像的窗口组件,继承自Widget类,常用于展示不可编辑的文本和图像。博客详细讲解了Label的创建、常见属性以及如何通过Options选项设置组件属性,包括颜色、字体等。还提供了使用PhotoImage加载gif图片的例子,并展示了创建带有不同属性的Label实例的代码。

复习回顾

我们前面已经学习了两期的 GUI 编程相关内容

GUI 提供这些组件,组件的父类都是widget类

后期,我们将开始逐一学习每一个组件相关使用方法

GUI编程库继承关系

1. Label 概述

Label 是Python Tkinter 标签组件之一,主要显示指定的窗口中的文本和图像。

  • Label继承Widget类
  • 只显示的文本和图像,可以用于显示一行或者多行文本且不允许用户修改的场景

主要语法格式如下:

  W = Label(master,option)  
  • master:父容器
  • options:可选项,以键-值对的形式设置标签的属性,并以分号隔开

2. Label 常见属性

  

3. 设置Options选项

Label 组件可以通过Options设置其属性,从而控制组件的各种状态比如宽度、高度、黑色、位置等等

设置 options 选项有三种方式:

创建对象时,使用命令参数(也叫关键字参数)

but = Button(self,fg="red",bg="blue")

创建对象后,使用字典索引方式

but["fg"] = "red"
but["bg"] = "blue"

创建对象后,使用config()方法

 but.config(fg= "red",bg="blue")

Options选项在查看方式:

  1. 通过打印 config()方法的返回值,查看Options选项

print(but.config())

    2. 通过在IDE中,点击组件对象的构造方法,进入到方法内观察

but = Button(root) # 按Ctrl+左键跳转到源码查看

button源代码

 4. 常见Options选项

 

 

重要说明:

  1. Tkinter自带支持gif 和 png两种格式
  2. 如果使用jpg图片,需要使用pil模块,安装方式为pip install pillow

5. 小试牛刀

label效果

代码如下:

from tkinter import *

class Application(Frame):

    def __init__(self,master=None):
        # super()代表的是父类的定义,而不是父类对象
        super().__init__(master)
        self.master = master
        self.pack()

        # self.createwidget()
        self.createWidget()

    def createwidget(self):

        self.but1 = Button(self)
        self.but1["text"] = "add"
        self.but1.pack()
        self.but1["command"] = self.addinfo

    def addinfo(self):
        messagebox.showinfo("提示","添加成功")

    def createWidget(self):

        self.lab1 = Label(self,text="这是标签1",width = 10,height = 2,bg = "pink",fg="white")
        self.lab1.pack()
        self.lab2 = Label(self,text= "这是标签2",width = 10,height =2,bg = "orange", fg = "black",font=("黑体",30) )
        self.lab2.pack()

        global  photo
        photo = PhotoImage(file="heart.gif")

        self.lab3 = Label(self,image = photo)
        self.lab3.pack()





root = Tk()
root.geometry("400x200+200+300")
root.title("MyfirstAPP")
app = Application(master=root)

root.mainloop()

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值