目录
Labal() 方法可以用于在窗口建立文字和图形标签.
一.Label 标签的属性:
(1)anchor:如果空间大于所需时,控制标签的位置,默认是CENTER(居中)
(2)bg或background:背景色彩。
(3)bitmap:使用默认图标当作标签内容。
(4)borderwidth或bd:标签边界宽度,默认是1。
(5)compound:可以设置标签内含图像和文字时,彼此的位置关系。
(6)cursor:当鼠标光标在标签上方时的外形。
(7)fg或foreground:前景色彩。
(8)font:可选择字形、字形样式与大小。
(9)height:标签高度,单位是字符。
(10)image:标签以图像方式呈现。
(11)justify:存在多行文本时最后一行的对齐方式,可取值有LEFT/CENTER/RIGHT(靠左/居中/靠右),默认是居中对齐。
(12)padx/pady:标签文字与标签区间的间距,单位是像素。
(13)relief:默认是relief=flat,可由此控制标签的外框。
(14)text:标签内容,如果有“\n”则可输入多行文字。
(15)textvariable:可以设置标签以变量方式显示。
(16)underline:可以设置第几个文字有下画线,从0开始算起,默认是-1,表示无下画线。
(17)width:标签宽度,单位是字符。
(18)wraplength:本文到多少宽度后自动换行,单位是像素。
二.组件的共同属性:
(1) color,(2) width,(2) height,
(4)共同属性anchor, anchor属性值如下图位置标示布局
anchor的参数设置也可以使用内建大写常数,例如,nw使用NW、n使用N、ne使用NE、w使用W、center使用CENTER、e使用E、sw使用SW、s使用S、se使用SE。
(5)共同属性Font: 设置文字字形参数:
1.字形family:如Helvetica、Times等
2.字号size:单位是像素。
3.weight:例如bold、normal。意思是实心还是中空
4.slant:例如italic、roman,如果不是italic则是roman。
5.underline:例如True、False。
6.overstrike:例如True、False。
(6)共同属性Relief:下面是属性值和效果图,感觉用 raised 好看.
(7)共同属性Cursors: 表示光标形状, 即鼠标形状
例如:可以设计鼠标光标在标签(Label)或按钮(Button)上时的形状,可以使用本功能。
三.介绍常用的属性
(1)label标签的compound参数:
left:图像在左。right:图像在右。top:图像在上。bottom:图像在下。center:文字覆盖在图像上方。
(2)padx和pady属性:
padx可以设置标签文字左右边界与标签区间的x轴间距,pady可以设置标签文字上下边界与标签区间的y轴间距。!!!(说实话这里的间距单位我也没有摸清楚.)
(3)图像image:
语法: image = ImageTk.open('xxx.png') # 将图片传入标签内,至于图片大小
from tkinter import * from PIL import Image,ImageTk """ 导入图片得用新版本的ImageTk这个包 """ root = Tk() root.title('学习GUI的爱好者') # 窗口标题 png = Image.open("黑客(1).gif") image = ImageTk.PhotoImage(png) label = Label(root, text='不想认命,就去拼命。我始终相信,付出就会有收获,或大或小,或迟或早,始终不会辜负你的努力。有一种落差是,' '你总是羡慕别人的成功,自己却不敢开始。', compound='right', wraplength=200, justify='right', bg='lightyellow', image=image) label.pack()
图片在文字的右边, 且文字自动换行,右边对齐.
!!! 重点来了: compound 的参数center,让文字覆盖在图片上面,会导致,文字最后一行对其方向参数失效.
四.组件共同方法:
(1) config(): Widget控件在建立时可以直接设置对象属性,若是部分属性未建立,未来在程序执行时如果想要建立或是更改属性可以使用config( )方法。这个config()方法在前面提到过.
五.组件 Separator(): 分隔线
Separator(父对象. options) 父对象就是容器,即窗口
Separaetor( )方法的第一个参数是父对象,表示这个分隔线将建立在哪一个父对象内;options参数如果是HORIZONTAL则建立水平分隔线,VERTICAL则建立垂直分隔线。
horizontal, vertical
在使用这个方法时的在 ttk这个包里面导入这个方法
from tkinter import * from PIL import Image,ImageTk from tkinter.ttk import Separator root = Tk() root.title('学习GUI的爱好者') # 窗口标题 png = Image.open("黑客(1).gif") image = ImageTk.PhotoImage(png) label_01 = Label(root, text='不想认命,就去拼命。我始终相信,付出就会有收获,或大或小,或迟或早,始终不会辜负你的努力。有一种落差是,' '你总是羡慕别人的成功,自己却不敢开始。', compound='right', wraplength=200, justify='right', bg='lightyellow', image=image, relief='raised', cursor='heart') # sep = Separator(root, orient="horizontal") # 这样小写也可以 sep = Separator(root, orient=HORIZONTAL) label_02 = Label(root, text='每天坚持三件事:看脸,看秤,看余额!如果脸不够漂亮,体重不够低,余额不够多,那么,请继续奋斗!') label_01.pack() sep.pack(fill=X) label_02.pack() root.mainloop()
分隔线有无看到??就在那,你瞅瞅
今天学习就学到这里,明天继续
&励志语录:
不想认命,就去拼命。我始终相信,付出就会有收获,或大或小,或迟或早,始终不会辜负你的努力。有一种落差,你总是羡慕别人的成功,自己却不敢开始