这是我参与8月更文挑战的第22天,活动详情查看: 8月更文挑战
复习回顾
我们前面已经学习了两期的 GUI 编程相关内容
GUI 提供这些组件,组件的父类都是widget类
后期,我们将开始逐一学习每一个组件相关使用方法
🎸标签我们在日常工作中,日历上添加标签记录,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选项在查看方式:
-
通过打印 config()方法的返回值,查看Options选项
print(but.config())
-
通过在IDE中,点击组件对象的构造方法,进入到方法内观察
but = Button(root) # 按Ctrl+左键跳转到源码查看
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 |
📢 重要说明:
- Tkinter自带支持gif 和 png两种格式
- 如果使用jpg图片,需要使用pil模块,安装方式为pip install pillow
5. 小试牛刀
代码如下:
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