购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.1 Label组件

Label组件是窗口中比较常用的组件,通常用来添加文字或者图片,并且可以定义Label组件中文字和图片的排列方式,下面进行具体讲解。

5.1.1 Label组件的基本使用

视频讲解

视频讲解:资源包\Video\05\5.1.1 Label标签的基本使用.mp4

前面介绍组件的公共属性及布局管理时,多次使用到了Label组件,而Label组件最常用的功能就是添加文字,具体语法如下:

其中,win指定Label组件的父容器;text指定标签中的文本;justify指定标签中拥有多行文本时,最后一行文本的对齐方式。

例如,编写一幅对联,并且对联的横批左对齐,具体代码如下:

运行效果如图5.1所示。

图5.1 Label组件的基本使用

注意

justify属性只对拥有多行文本时的Label组件中的最后一行文本有效,如果Label组件中只有一行文本,则justify属性无效。

说明

上面代码中的第6行,可以拆分为以下两行:

这两种写法所实现的效果相同。

实例5.1 用箭头指示斗兽棋游戏规则

实例位置:资源包\Code\05\01

通过箭头指示斗兽棋游戏规则,首先添加Label组件,显示斗兽棋规则及箭头,然后通过grid()方法设置各组件的位置。具体代码如下:

运行效果如图5.2所示。

图5.2 用箭头指示斗兽棋游戏规则

5.1.2 在Label组件中添加图片

视频讲解

视频讲解:资源包\Video\05\5.1.2 在Label组件中添加图片.mp4

在tkinter模块中,图片可以在多处使用,例如Label组件、Button按钮及Text文字区域等。但是添加图片时,需要先创建图片对象PhotoImage,然后在其他组件中引入该对象。例如在Label组件中添加一张图片,具体代码如下:

上面代码中,第2行代码中的file参数为图片的路径;第3行代码通过image参数引入该图片对象。运行效果如图5.3所示。

图5.3 在Label组件中添加图片

如果Label组件中既有文字,又有图片,那么可以通过Label组件中的compound参数设置图片与文字的显示位置。可选的参数值有5个,具体参数值及其含义如表5.1所示。

表5.1 compound参数可选值及其含义

实例5.2 实现游戏“欢乐写数字”道具兑换窗口

实例位置:资源包\Code\08\01

将“欢乐写数字”游戏窗口中的按钮及文本框暂时用Label组件代替。具体代码如下:

运行效果如图5.4所示。

图5.4 Label组件中设置图片与文字的位置效果

说明

实例5.2中添加的图片为.png格式,如果添加.jpg格式的图片,就会出现如图5.5所示错误提示。

图5.5 添加.jpg格式的图片时出现错误提示

这是因为PhotoImage()方法不支持.jpg格式的图片,如果需要在窗口中添加.jpg格式的图片,需要下载和导入第三方模块PIL,安装该模块的命令为“pip install pillow”,具体步骤如下:

(1)以管理员身份打开系统的命令提示符窗口,输入安装命令,如图5.6所示。

图5.6 在命令提示符窗口中输入安装命令

(2)按下<Enter>键,开始进行下载和安装,此过程需要计算机联网。安装成功后如图5.7所示。

图5.7 安装PIL模块成功

安装成功后,需要在.py文件中导入PIL模块中的Image模块和ImageTk模块,具体代码如下:

在窗口中添加一张.jpg格式的图片,代码如下:

运行效果如图5.8所示。

图5.8 在窗口中添加.jpg格式的图片

5.1.3 在Label组件中指定位置换行

视频讲解

视频讲解:资源包\Video\05\5.1.3 Label中指定位置换行.mp4

前面都是使用“\n”进行文字换行的,其实Label组件中可以通过wraplength指定换行位置,单位为像素,然后当文本到达wraplength指定的位置时,就会自动换行,具体代码如下:

运行效果如图5.9所示。

图5.9 在Label组件中设置文字在指定位置换行 soAJRgsF6xGCa03iFolXBwRW9JhyLl3JiIcJFbI+Dv/0LWH0K0wI5Ty4bvCtKnov

点击中间区域
呼出菜单
上一章
目录
下一章
×