植物百科网
当前位置: 首页 农业百科

tkinter菜单绑定(tkinter标签组件详细讲解)

时间:2023-06-11 作者: 小编 阅读量: 6 栏目名: 农业百科

Label是用来显示文本或图像的组件。但文本目前只能显示单一大小,单一字体的文本,在显示图像方面,用PhotoImage()支持只显示jpg和png格式的图像。fromtkinterimport*root=Tk()la1=Label#定义一个名为la1的标签组件la1.pack()#定位这个标签组件root.mainloop()注意,la1.pack()这行代码必不可少,缺少将无法显示。la1=Label代码中设置为90个像素换行,依旧是左对齐。

创建标签Label 组件

今天讲解标签(Lable)组件,这个组件在编程中经常要用得到,而且对于Tkinter新手来说,对这个组件的属性,方法等了解,非常重要,因为标签Lable属性,方法跟其它组件是完全相同的,当你对标签组件的属性和方法非常熟悉了,再去学其它组件就很容易了。

Label是用来显示文本或图像的组件。是的,你没有看错,这个标签不但可以显示文本,也可以显示图像。但文本目前只能显示单一大小,单一字体的文本,在显示图像方面,用PhotoImage()支持只显示jpg和png格式的图像。

建立一个显示文本的Lable,语法如下:

新建标签名=Label(父组件, text=’标签要显示的文字’)

下面的代码,就可以在建立并显示一个标签。

from tkinter import *root=Tk()la1=Label(root,text='我是一个标签')# 定义一个名为la1的标签组件la1.pack()# 定位这个标签组件root.mainloop()

注意,la1.pack() 这行代码必不可少,缺少将无法显示。pack() 是tkinter 用于窗体组件布局的一种方法(以后会详细讲解),说白了,组件布局方法就是如何把组件显示到它的父组件上的合适的位置。

运行结果如下:

设置标签属性的3种方法

以上结果就是显示一个默认参数的标签,我们想更多的自定义显示,就要重新设置标签的属性。

上一篇文章讲解设置窗体属性的2种方法,这2种方法同样可以用于组件。

第1种方法,用config()方法 ,重新设置显示文本,字体,颜色:

la1.config(text='重新设置文本', font=('黑体',20),fg='red')

第2种方法,用字典键的方法来设置:

la1['text']='重新设置文本'la1['font']= ('黑体',20)la1['fg']='red'

还有第3种方法:其实在标签组件定义时,就可以设置相关的属性。如:

la1=Label(root,text='重新设置文本',font=('黑体',20),fg='red')

用以上3种方法任何一种,运行后,都会得到一个结果,如下图:

标签组件到底有多少属性可以设置?

用 print(la1.keys()) 可以输出标签组件可以设置的属性。

下面一一讲解标签用得比较多的属性。由于有很多相关属性其它组件也是一样拥有,也是一样用法,在以后的组件属性讲解中,我可能就不再讲解了,大家可以收藏此文,以后可以回过头来,再来看一下标签组件的讲解。

大家先在编辑器里输入以下6行代码,第4行为空行,以便随时加入以下的讲解代码来测试

from tkinter import *root=Tk() # 创建窗体root.geometry('300x150 888 444') # 设置窗体大小及显示位置# 这里随时加入代码来测试la1.pack() # 标签la1定位root.mainloop()

属性:text bg 或 background

text : 标签显示的文本,文本可包含换行符。

bg 或 background : 标签的背景颜色。(在tkinter中,bg和background是一样,用谁都行,但以后要学的ttk,只支持background,不再支持bg)

 关于颜色,可以用内置的颜色名称,如"red", 也可以用16进制来表示 ,如“#FFA500”;我以后用文章来讲解跟颜色有关的知识,现在刚开始学习,我们先记下几个常用的颜色名称来用于学习:

红色:red 橙色:orange 黄色:yellow 绿色:green 蓝色:blue浅蓝:lightblue 浅绿:lightgreen 浅黄:lightyellow

加入测试代码:

la1=Label(root,text='五笔打字通',bg='lightblue')

运行结果:

text选项加入换行符: \n:

la1=Label(root,text='五笔打字通\n是一款五笔打字练习软件',bg='lightblue')

运行结果:

显示结果是,文本换行了,2行是居中对齐,想左对齐怎么吧,那就用下面的justify属性。

属性:justify

justify :决定多行文本如何对齐,默认是居中对齐: center,左对齐用: left, 右对齐用:right

la1=Label(root,text='五笔打字通\n是一款五笔打字练习软件',bg='lightblue',justify='left',)

运行结果如下,实现了文本的左对齐。

属性:wraplength

wraplength : 决定多少个像素文本自动换行。换行符‘\n’是强制换行,如果要自动换行就用wraplength , 但具体多少个像素换行,需要你反复调试。

la1=Label(root,text='五笔打字通是一款五笔打字练习软件',bg='lightblue',wraplength=90,justify='left',)

代码中设置为90个像素换行,依旧是左对齐。运行结果:

属性:relief

relief : 标签的样式(表现在边框的不同),默认的样式是平整的,标签的所有样式如下:

flat groove raised ridge solid sunken

平整 边凹 凸形 边凸 黑框 凹形

具体样式见下图:

relief的具体运行,我们用标签伪装一个文本框和按钮:

la1=Label(root,text=' 在此输入文本 ',relief='sunken',bg='white')# 样式sunken为凹形,背景为白色,伪装为一个文本框la1.pack()la2=Label(root,text=' 确定 ',relief='raised')# 样式raised为凸形,伪装为了一个按钮la2.pack()

运行结果如下:

属性: bd 或 borderwidth

bd 或 borderwidth : 标签组件的边框宽度,默认值系统决定,一般是1或2个像素。

我们把上面的代码加入bd=6 看看边框宽度为6个像素,效果如何?

la1=Label(root,text=' 在此输入文本 ',relief='sunken',bg='white',bd=6)# 样式sunken为凹形,背景为白色,伪装为一个文本框la1.pack() la2=Label(root,text=' 确定 ',relief='raised',bd=6)# 样式raised为凸形,伪装为了一个按钮la2.pack()

运行结果:

属性:fg 或 foreground 和 cursor、font

fg 或 foreground : 标签字体的颜色

cursor : 标签的鼠标光标样式

font : 标签的字体信息,如果同时设置字体名,大小,斜体等参数,要用元组表示,元组有3个参数,第1个参数是字体名,第2个参数是字体大小,第3个参数是一个包含1个或多个字体风格修饰符的字符串,如:

font=('黑体',12,'bold italic underline overstrike') # 字体的全部表现形式

font=('黑体',12,'bold') # 字体为粗体

font=('黑体',12,'italic underline') # 斜体,下划线

注: bold: 粗体, italic: 斜体, underline: 下划线, overstrike: 删除线

我们用标签来模拟一个超链接,代码如下:

la1=Label(root,text='www.wb98.com',bg='lightblue',font=('黑体',12,'underline'),# 标签字体为黑色,大小12,有下划线fg='blue',# 字体颜色为蓝色cursor='hand2')# 鼠标样式为“手形”

运行结果如下:

以上标签就模拟一个超链接,鼠标移动上去,就会变成手形,可惜不能点击进入我的网站 wb98.com

一个标签只能设置一种字体,默认字体是由系统决定的,不同系统的默认字体及默认安装好的字体不同,如果想做跨平台程序,牵涉到字体时,要注意这一点。

属性:image

image : 标签显示的图片,image值应该是由PhotoImage()创建的图像对象。

下面的代码,可以在标签里显示一个图片,但一定要先在代码文件的目录里,先准备好图片文件0.png

img1=PhotoImage(file='0.png')la1=Label(root,text='魂斗罗',image=img1,bg='lightblue')

先要在代码中先要把图片文件0.png通过PhotoImage()方法转为对象img1,然后才可以在定义标签里使用这个图像对象。目前用PhotoImage()方法支持gif 和 png 两种格式。

运行结果如下:

根据运行结果可知,没有定义标签的宽和高,标签显示图像,它的尺寸也是可以自适应图片大小的。但是,由于显示了图像,而文本“魂斗罗”却无法显示,这说明图像相对于文本,有更高的显示优先权。如果想文本和图像同时显示,就要用到下面的参数:compound

属性:compound

compound : 控件标签图像和文本混合显示。compound的选项:center,left,right,top,bottom 分别决定文本显示在图像的正中间,左边,右边,上面,下面。

img1=PhotoImage(file='0.png')la1=Label(root,text='魂斗罗',image=img1,bg='lightblue',compound='left')

运行结果

属性:width,height

width,height : 文本标签的宽和高

如果标签显示的是字符,那么宽和高的单位: 字符单位,如果标签显示的有图像,那么宽和高的的单位是:像素

在不设置标签宽高的情况下,默认状态下,标签大小总跟文字大小工图像大小相适应。如果想设置标签的大小,大家可以设置width和height,纯文本的标签,width和height的单位都是半角字符单位。

la1=Label(root,text='12345',bg='lightblue',width=5,height=1)

运行结果如下:

其实,你在代码把text=’12345’,去除,运行结果,标签的宽和高也一样,这说明,width和height这2个参数决定标签大小,跟text的文字多少没有关系了。

width=5,height=1 说明标签大小可以显示1行5个半角字符

width=6,height=3 说明标签大小可以显示3行6个半角字符

以此类推。

但是,显示文本为中文时,根据我以前学的别的编程语言经验,中文字符为全角字符,相当于2个半角字符,但在我的电脑里,用width和height来设置相应的宽和高,总是有些出入,不知为何,大家可以到你的电脑测试一下。

属性:padx, pady

padx : 决定 Label 水平方向上的额外间距(内容和边框之间的距离)

pady : 决定 Label 垂直方向上的额外间距(内容和边框之间的距离)

padx,pady这2个参数,从某种角度来说,是另一种决定标签大小的方法,但它的单位是像素。

la1=Label(root,text='12345',bg='lightblue',padx=10,pady=20)

运行结果如下:

标签在水平方面的左右2边都增加了10个像素,在垂直方面的上下2边都增加了20个像素。

属性:anchor

anchor: 如果标签高、宽大于显示的文本或图像尺寸,anchor属性决定标签文本和图像的显示位置。

la1=Label(root,text='12345',bg='lightblue',width=20,height=5,anchor='se')

运行结果如下:(上面代码中的width和 height的单位是字符单位)

anchor=’se’ 这个代码让标签文本显示在这个标签的右下角

anchor的选项有:"n", "ne", "e", "se", "s", "sw", "w", "nw", 和 "center" 代表的方位如下图所示。(默认是居中显示‘center' )

如果把标签文本改成图像,也是一样的。 喆丌嚞

img1=PhotoImage(file='0.png')la1=Label(root,image=img1,bg='lightblue',width=200,height=90,anchor='se')

运行结果:(上面代码中的width和 height的单位是像素)

标签组件比较常用的属性,除 textvariabe外,上面我都讲解了,不太常用的,我为觉得刚开始学习没有必要了那么多,如果你是新手,就更没有必须一次学那么多。

以上的属性,有很多属性其它组件也一样拥有,大家要学会举一反三。

textvariable 会在以后结合变量的知识再讲解。

此文章来自我的网站 wb98.com ,何老师的济亨网 - 五笔打字通主页 网站还有tkinter相关的系列课程文章,感兴趣的的可以前往。

    推荐阅读
  • 空气含量中最多的气体(空气含量中最多的气体介绍)

    空气中含量最多的气体是氮气,氮气约占空气体积分数的百分比约为78%。通过实验测定,空气的成分按体积计算,氮气大约占78%、氧气占21%、稀有气体0.94%、二氧化碳0.03%、其他气体和杂质0.03%,也就是说空气中含量最多的物质是氮气。氮气化学性质很不活泼,在高温高压及催化剂条件下才能和氢气反应生成氨气;在放电的情况下才能和氧气化合生成一氧化氮;即使Ca、Mg、Sr和Ba等活泼金属也只有在加热的情形下才能与其反应。

  • 文思豆腐羹如何做好吃(文思豆腐羹用什么豆腐)

    文思豆腐是一道有名的淮扬菜,需要的就是精湛的刀工,这样做出的文思豆腐会有嫩滑的口感,打造入口即化的口感。文思豆腐羹如何做好吃文思豆腐羹材料和做法步骤一、文思豆腐羹材料准备好豆腐400克,鸡脯肉,火腿还有香菇,再有准备好生菜,冬笋,调料需要准备盐和味精。

  • 结构性存款可以买理财吗(结构性存款是存款吗)

    雪球产品就是今年年初监管向信托公司进行窗口指导,要求叫停的产品。简单的说,这是一种高风险的金融衍生品,它通过持有一定结构的金融衍生品,来实现在某一特定情况下获利。这样的投资结构就能保证我不论涨,还是跌,只要在一定幅度内都可以盈利。交易期权等金融衍生品,是非常高风险的投资。

  • 正言厉色意思(正言厉色的意思)

    下面内容希望能帮助到你,我们来一起看看吧!正言厉色意思正言厉色,汉语成语,拼音是zhènɡyánlìsè,意思是形容板着脸,神情非常严厉。出自《汉书·王莽传》。宝玉突然想出一个主意,一本正经地给她讲扬州黛山林子洞耗子精偷香芋的故事,黛玉见他正言厉色,以为真有其事,后来才发现原来是在取笑她。

  • 面谈调薪酬有什么技巧(跟老板谈调薪的技巧有哪些)

    如果你在老板心目中分量很大,一般老板都会给你加薪的。和老板谈加薪时目的一定要明确,让老板知道你只是为了加薪,而不是辞职走人。和老板谈加薪后,一定要给老板一个考虑的时间,不要咄咄逼人,逼着老板加薪。老板也要有足够的思考时间,来考虑你是否值得加薪,给你加薪后对公司有没有什么影响。不仅口头上要表示感谢,工作中要更加努力,让老板觉得给你加薪是值得的。

  • 杏花有没有香味(杏花闻起来会特别香吗)

    杏树是中国著名的观赏树木,可配植于庭前、墙隅、道路旁、水边,也可群植、片植于山坡、水畔,是春季主要的观赏树种。杏花直径2至3厘米,先于叶开放。花梗短,长1至3毫米,被短柔毛。花萼紫绿色,萼筒圆筒形,外面基部被短柔毛。萼片卵形至卵状长圆形,先端急尖或圆钝,花后反折。花瓣圆形至倒卵形,白色或带红色,具短爪。

  • 减肥减肚子的方法(怎么减肚子呢)

    减肥减肚子的方法食用健康食品:酸奶与发酵的牛奶能激活消化必须的物质,有助于改善肠道微生物系统,从而防止腹部隆起。走路、喝水、按摩:走路及喝水有利腹部扁平。

  • 新坑翡翠手镯多少钱(新坑翡翠手镯的价格)

    新坑翡翠手镯多少钱?新坑翡翠手镯多少钱翡翠手镯作为大件翡翠制品,用料特别多,只有大块、质量好的翡翠原石才能打造成手镯,因此翡翠手镯的价格都比较高,商家们拿到质量比较好的原石也尽可能打造成手镯。具体到新坑种翡翠,因为大多数新坑种翡翠透明度都不高,质地也不够细腻,因此种水一般都是以糯种或豆种为主,极少出现冰种或冰种以上的种水,这样的翡翠价格价格自然不会太高,一个品质比较好的糯种翡翠手镯大概在十万以内。

  • 宁波毛蚶做法水煮几分钟(毛蚶煮多长时间可以吃)

    宁波毛蚶做法水煮几分钟毛蚬是很多人喜欢吃的食物,不过建议大家在做之前都要先用开水煮以下。强精益气,提高精液质量,增强精子活力。适用于治疗肾阳虚所致的阳痿、腰痛、小便频数及补五脏之气不足。可治疗全身水肿,小便不利等。能软化和保护血管,有降低人体中血脂和胆固醇的作用。

  • 2022洛阳湿地公园最新名单 洛阳生态公园最新消息

    国家级湿地自然保护区河南黄河湿地国家级自然保护区,面积24000公顷。国家级湿地公园嵩县陆浑湖国家湿地公园,面积4222.39公顷伊川伊河国家湿地公园,面积1384.36公顷。