天天看点

python中label函数_Python GUI编程之tkinter的常用控件Label的使用

我们知道,东西的标签是不能乱贴的,比如一件商品,价格标错了,可能会有损失哦。对于Python GUI编程中标签的使用也不例外,Tkinter中的标签控件Label常常被使用于显示文本或图像,今天我们来详细看下它的使用方法。

下面开始今天的内容……

python中label函数_Python GUI编程之tkinter的常用控件Label的使用

Let's Go!

【使用范围】

顾名思义,标签控件Label是用来给控件贴标签用于展示信息的,当然,它就可以包含多行文本。

它的使用范围,主要有以下几种类型:

标识信息

这个很容易理解,比如,制作一个注册界面,要输入内容我们需要使用Entry或者Text等控件获取,但是,我们往往使用Label控件放在这些控件之前,标识我们需要在文本框内获取哪些内容。相当于打了一个标签……

python中label函数_Python GUI编程之tkinter的常用控件Label的使用

旨在标识信息的标签

图片容器

我们知道,Label控件的好处之一是简单,相对于其它控件,Label的优势就在于此,使用Label充当一个图片容器也是一个不错的选择。

python中label函数_Python GUI编程之tkinter的常用控件Label的使用

它甚至可以被当成一个相框去使用

充当其它控件使用

比如,可以把它当作一个按钮来使用,对于按钮的relief属性设置合理,其实它就是一个按钮了,当我们定义好它的事件回调函数后,它的功能和按钮无异。

python中label函数_Python GUI编程之tkinter的常用控件Label的使用

如果需要它可以做成胶囊按钮使用

说白了,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()

效果应该是这样的。如下图所示。

python中label函数_Python GUI编程之tkinter的常用控件Label的使用

使用了两个标签

比较简单,相信大家都能看懂,又没有简洁的办法呢?将这些内容放在同一个标签中?当然可以,看下面的代码。

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()

将图片文字结合到一起了,代码更少,视觉效果比之前也好一点了!如下图所示。

python中label函数_Python GUI编程之tkinter的常用控件Label的使用

使用一个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中label函数_Python GUI编程之tkinter的常用控件Label的使用

关注我!后续会有精彩内容呈现

欢迎大家留言并且关注,后续会有精彩内容持续更新。

转载请注明出处:(百家号:Python高手养成)。