Python Tkinter组件之Label

Python Tkinter组件之Label复习回顾 我们前面已经学习了两期的 GUI 编程相关内容 GUI编程整体认识,初步使用初识 GUI 编程 GUI编程相关类继承关系,使用面向对象写法运用到GUI编程中GUI编程框架认识 GUI 提供这

玩转Python

这是我参与8月更文挑战的第22天,活动详情查看: 8月更文挑战

复习回顾

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

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

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

GUI编程库继承关系

🎸标签我们在日常工作中,日历上添加标签记录,Excel表格上高亮标记等等随处可见

🎹 本期,我们将学习最常用的组件之一标签Label相关用法,let’s go~

1. Label 概述

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

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

主要语法格式如下:

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

2. Label 常见属性

属性 作用
Anchor 标签中文本的位置
backgroung(bg) 背景色
foreground(fg) 前景色
borderwidth(bd) 边框宽度
width 标签宽度
height 标签高度
bitmap 标签中的位图
font 字体
image 标签中的图片
justify 多行文本的对齐方式
text 标签中的文本,可以使用’\n’表示换行
textvariable 显示文本自动更新,与StringVar等配合着用

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选项

选项名 含义 单位 典型值
activebackground 指定组件处于激活状态时的背景色 color ‘gray25’或‘#ff4400’
activeforeground 指定组件处于激活状态时的前景色 color ‘gray25’或‘#ff4400’
anchor 指定组件内的信息,在组件中如何显示。必须为下面值之一:N,NE,E,SE,S,SW,W,NW,或者CENTER CENTER
background(bg) 指定组件正常显示时的背景色 color ‘gray25’或‘#ff4400’
bitmap 指定在组件上显示该选项指定的位图,该选择值可以时TK_GetBitmap接收的任何形式的位图
borderwith 指定组件正常显示时间的3D 边框的宽度,该值可以是Tk_GetPixels接收的任何格式 pixel 2
cursor 指定光标在组件上的样式 cursor gumby
command 指定按组件关联的命令方法,该方法通常在鼠标离开组件时被触发调用
height 指定组件的高度,以font选项指定的字体的字符高度为单位,至少为1位 integer 14
image 指定组件中显示的图像,如果设置了image选项,它会覆盖text、bitmap选项 image
justify 指定组件中内容的对齐方式,支持LEFT、CENTER、RIGHT constant RIGHT
text 指定组件上显示的文本,文本显示格式由组件本身,anchor及justify 选择决定 str ‘确定’
padx 指定组件内部在水平方向上两边的空白,该值可以时Tk_GetPixels接收任何形式的格式 pixel 12
pady 指定组件内部在垂直方向上两边的空白 pixel 12
tekefocus 指定组件在键盘遍历(Tab或者Shift+Tab)是否接收焦点,将该选项设为1表示接收焦点,设为0表示不接收焦点 boolean 1或者YES
textvariable 指定一个变量名,GUI组件负责显示该变量值转换得到的字符串,文本显示格式由组件本身,anchor及justify选项决定 variable bntext
relief 指定组件的3D效果,选项支持的值包括RAISD、SUNKEN、FLAT、RIDGE、SOLID、GROOVE constant GROOVE
selectbackground 指定组件在选中状态下的背景色 color ‘gray25’或‘#ff4400’
selectborderwidth 指定组件在选中状态下的3D边框的宽度 pixel 2
selectforeground 指定组件在选中状态下的背景色 color ‘gray25’或‘#ff4400’
state 指定组件的当前状态 constant NORMAL

📢 重要说明:

  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()

总结

本期,我们学习Tkinter组件 Label 的基本语法学,可以使用Options设置标签🏷️的颜色、大小、高度和宽度等属性,便于我们更好的设计出好看的label显示。

以上是本期内容,欢迎大佬们点赞评论指正,下次见~ღ( ´・ᴗ・` )比心🌹🌹

今天的文章Python Tkinter组件之Label分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/19141.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注