复习回顾
我们前面已经学习了两期的 GUI 编程相关内容
GUI 提供这些组件,组件的父类都是widget类
后期,我们将开始逐一学习每一个组件相关使用方法
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选项在查看方式:
-
通过打印 config()方法的返回值,查看Options选项
print(but.config())
2. 通过在IDE中,点击组件对象的构造方法,进入到方法内观察
but = Button(root) # 按Ctrl+左键跳转到源码查看
4. 常见Options选项
重要说明:
- 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()