第58课 Label组件

根窗口创建好了,接下来我们就可以在根窗口上添加内容了。

要添加的第一个组件是Label。这是一个标签,用Label组件可以在根窗口中展示文字或者图片。
还记得我们学习的第一个Python程序是什么吗?
我们用Label组件来和Python说声Hello。Python是不是会很惊喜呢?
一起来动动手,使用Label组件进行创作。


依次单击菜单栏Run→Run Module选项来运行程序,运行结果如下:

用一幅图来分析一下这个运行结果。

在以上程序中,我们创建了一个窗口,并在窗口中输出了
!Hello Python,具体是怎么实现的呢?
我们一句一句来分析:
·import tkinter as tk:这句代码大家是不是很熟悉,在模块中刚刚学习过,意思是导入tkinter模块并且取新名字为tk。
·root=tk.Tk():调用Tk()函数创建根窗口。
我的·root.title("Label"):将窗口的名称(即标题)设置为“我的Label”。

,!:创建
·label=tk.Label(root text="Hello Python",bg="pink")Label
组件,第一个参数是root根窗口,第二个参数是我们要显示的文字,第三个参数是组件的背景颜色。Label组件是Tk的15种核心组件之一。

·label.pack():将创建好的Label组件添加到root根窗口中,根窗口才能将Label展示出来。
tkinter共有3种布局管理方式,分别是pack布局、grid布局和place布局。这句代码中的pack布局将向容器中添加组件,第一个添加的组件在最上方,然后依次向下添加。
·root.mainloop():让根窗口持续展示。如果组件有变化,它将会不断刷新。
展示图片1. Label
试试用Label组件来展示图片。


单击菜单栏Run→Run Module选项来运行程序,运行结果如下:

在程序中,通过import tkinter as tk导入tkinter模块,并且取了一个新名字tk,在下面的代码中就可以用tk表示tkinter模块。

通过root=tk.Tk()创建根窗口。
通过root.geometry("240×240")将根窗口的大小设置为图片的大小。
果果拓展
以1.gif为例,因为Windows系统和macOS系统查看图片大小的方式不一样,所以分开讲解。

系统Windows
右击图片,选择属性。
进入图片属性页面,选择详细信息,可以看到图片的尺寸,这就是我们要的图片大小。

系统macOS
右击图片,选择显示简介。
进入图片简介,在更多信息下面可以看到尺寸,这就是图片大小。

''设置了要展示的图片路径,注意图片的格式为.gif。这里
pic=1.gif
需要设置成图片和程序文件的相对地址。
photo=tk.PhotoImage(file=pic):关键来了,通过PhotoImage类创建了一个图片对象,参数是图片的地址。
PhotoImage类用来在组件中展示图片,图片格式支持.gif。因为程序中的图片格式是.gif,所以不用进行特殊处理。

小拓展
如果想要展示PhotoImage不支持的图片格式,我们可以借助
()将图片处理为PIL Python Image Library PhotoImage能展示的图片,PIL是Python的第三方图像处理库。
第三方库需要先安装,下面分别介绍Windows系统和macOS系统下的安装方式。
系统Windows
打开命令提示符窗口。
在界面中输入pip3 install pillow,按Enter键,开始安装。
安装成功,提示Successfully installed pillow。

系统macOS
单击终端以启动该程序。

进入终端界面。

在界面中输入pip3 install pillow,按Enter键,开始安装。

安装成功。

安装成功之后,我们就可以使用了。
例如有一幅.jpeg格式的图片要展示,我们一起通过PIL将.jpeg格式的图片处理成tkinter能兼容的格式。

程序运行结果如下:

在程序中,使用PIL展示了tkinter不能展示的.jpeg图片。
Image.open(path)创建Label组件,通过image=photo设置了要展示的图片。
label.pack()将创建好的Label组件展示在主窗口中。
root.mainloop()让主窗口持续展示。

既展示图片,又展示文字2. Label
Label既可以展示图片,又可以展示文字,下面试用Label组件同时展示文字和图片吧。

依次单击菜单栏Run→Run Module选项来运行程序,程序运行结果如下:
在程序中,我们用Label组件将文字和图片同时展示在根窗口中。str="大家好,欢迎一起来学编程!"是要展示的文字。
,黑
label=tk.Label(root,text=str,image=photo compound='top',font=('
体创建了组件。参数说明如下。
',20))Label
·text=str:设置Label组件要展示的文字,str是变量。
黑体:设置文字的字体是黑体,字体大小是·font=('',20)20。
·compound='top':指定图像和文本在Label上如何展示。我们使用的是top,图片展示在文字的顶部。
还有其他选项,我们一一尝试。
·compound='left':图像在文字的左边。

·compound='right':图像在文字的右边。

·bottom:图像在文字的下边。









