我们知道,东西的标签是不能乱贴的,比如一件商品,价格标错了,可能会有损失哦。对于Python GUI编程中标签的使用也不例外,Tkinter中的标签控件Label常常被使用于显示文本或图像,今天我们来详细看下它的使用方法。
下面开始今天的内容……
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYTRwQDMwMDM2ETQwEjMDRTRDZzNwEjQ5MTN4EEO4kTN9MnJwImZ3EzMlZGO3MmNhRDOxMWZzUGOjRWYzgDN4cjMwYWPuV2avR3PnVGcq5iZ0kDMzIWZwQTN5IWYyQDMilTOkZzN5M2NwQDZiJzN5gTMiFGNygDMvwFZlVmZvwVbvNmL1RWahJmL0M3YpB3Lc9CX6MHc0RHaiojIsJye.jpeg)
Let's Go!
【使用范围】
顾名思义,标签控件Label是用来给控件贴标签用于展示信息的,当然,它就可以包含多行文本。
它的使用范围,主要有以下几种类型:
标识信息
这个很容易理解,比如,制作一个注册界面,要输入内容我们需要使用Entry或者Text等控件获取,但是,我们往往使用Label控件放在这些控件之前,标识我们需要在文本框内获取哪些内容。相当于打了一个标签……
旨在标识信息的标签
图片容器
我们知道,Label控件的好处之一是简单,相对于其它控件,Label的优势就在于此,使用Label充当一个图片容器也是一个不错的选择。
它甚至可以被当成一个相框去使用
充当其它控件使用
比如,可以把它当作一个按钮来使用,对于按钮的relief属性设置合理,其实它就是一个按钮了,当我们定义好它的事件回调函数后,它的功能和按钮无异。
如果需要它可以做成胶囊按钮使用
说白了,tkinter只是个入门级的图形界面库,使用这个库发散下我们的思维,巩固下基础知识也是个不错的选择,此文的目的在于此,并非止于将标签变为图片容器或者其他什么控件……只是给大家提供个思路……
其它几种需要说明的特殊属性情况
1.但是一个标签只能使用一种字体。如果你想要使用不同的字体,请定义不同的标签。
2.你可以允许控件根据可用空间大小换行,也可以在字符串中加入换行符来控制换行。
【实例演示】
我们先来写一首诗,然后在诗中配一张图片,都用标签进行展示。源代码如下:
from tkinter import *
root = Tk()root.title('标签控件演示')root.geometry('800x600+100+100')peom = '白日依山尽\n黄河入海流\n欲穷千里目\n更上一层楼'img = PhotoImage(file='1.png')l_img = Label(root, image=img)l_img.pack(side=RIGHT, expand=YES, fill=BOTH)l_txt = Label(l_img, text = peom, fg='red', bg='#FFC65A', font=('微软雅黑', 18, 'bold'))l_txt.pack(pady=20)root.mainloop()
效果应该是这样的。如下图所示。
使用了两个标签
比较简单,相信大家都能看懂,又没有简洁的办法呢?将这些内容放在同一个标签中?当然可以,看下面的代码。
from tkinter import *
root = Tk()root.title('标签控件演示')root.geometry('800x600+100+100')peom = '白日依山尽\n黄河入海流\n欲穷千里目\n更上一层楼'img = PhotoImage(file='1.png')l_txt_img = Label(root, text = peom, fg='red', image=img,font=('微软雅黑', 18, 'bold'),# 文字覆盖在图像上 compound='center',# 文字居中 anchor='center', )l_txt_img.pack(expand=YES, fill=BOTH)root.mainloop()
将图片文字结合到一起了,代码更少,视觉效果比之前也好一点了!如下图所示。
使用一个Label控件达到同样的效果
下面,我们给标签来点动态内容如何。当鼠标移过标签时,标签的文字内容随之换成另一首诗。源代码如下所示:
from tkinter import *
def changetxt(event):if l_txt_img['text'] == peom: l_txt_img.config({'text': peom2}) else: l_txt_img.config({'text': peom})root = Tk()root.title('标签控件演示')root.geometry('800x600+100+100')peom = '白日依山尽\n黄河入海流\n欲穷千里目\n更上一层楼'peom2 = '单车欲问边,属国过居延。\n征蓬出汉塞,归雁入胡天。\n大漠孤烟直,长河落日圆。\n萧关逢候骑,都护在燕然。'img = PhotoImage(file='1.png')l_txt_img = Label(root, text = peom, fg='red', image=img,font=('微软雅黑', 18, 'bold'),# 文字覆盖在图像上 compound='center',# 文字居中 anchor='center', )l_txt_img.pack(expand=YES, fill=BOTH)
# 绑定鼠标移动事件l_txt_img.bind('', changetxt)
root.mainloop()
当鼠标经过标签时,文字就会在王维的《使至塞上》和王之涣的《登鹳雀楼》两首诗之间转变。大家可以试试效果。当然,我们也可以将标签变成按钮进行使用。也是通过绑定其事件函数的方式实现,原理基本相同,只是绑定的回调函数是‘’、''等等类似这种鼠标单击或双击事件,就看自己的需求咯。废话不多说,喜欢的朋友们可以试试文中的效果。
关注我!后续会有精彩内容呈现
欢迎大家留言并且关注,后续会有精彩内容持续更新。
转载请注明出处:(百家号:Python高手养成)。