Label()方法可以用于在窗口内创建文字或图像标签,语法格式如下:
Label(父对象,options,……)
Label()方法的第一个参数是父对象,表示这个标签将建立在哪一个父对象内,以下是常用的options参数:
anchor 如果空间大于所需时,控制标签的位置,默认是CENTER(居中)
bg/background 背景色彩
bitmap 使用默认图标当做标签内容
borderwidth/bd 标签边界宽度,默认是1
compound 可以设置标签内含图像和文字时彼此的位置关系
cursor 当鼠标光标在标签上方的外形
fg/foreground 前景色彩
font 可选择字形、字体样式和大小
height 标签高度,单位是字符
image 标签以图像样式呈现
jusify 存在多行文本时最后一行的对齐方式,可取值有LEFT/CENTER/PIGHT(靠左/居中/靠右),默认是居中对齐
padx/pady 标签文字与标签区间的间距,单位是像素
relief 默认是relief=False,可由此控制标签的外框
text 标签内容,若有“\n”则可输入多行
textvariable 可以设置标签以变量方式显示
underline 默认是underline=-1,可以设置第几个文字有下滑线,从0开始算起,-1表示无下划线
width 标签宽度
wraplength 文本到多少宽度后换行,单位是像素
目录
前言
上一章讲到了Label的justify参数,因为太懒,几天没更新。今天抽空来写三张中的第二章
实践八 Bitmaps
tkinter也提供了在标签位置放置内建的位图功能,下面是在各操作系统平台都可以使用的位图:
error hourglass info questhead question warning gray12
gray25 gray50 gray75
不一一展示了,自己去看吧
示例:
import tkinter as tk
root = tk.Tk()
root.title("小胡编程")
label = tk.Label(root,bitmap="error")
label.pack()
root.mainloop()
结果:
实践九 compound参数
该参数的作用是当图像与文字共存时,使用此参数处理他两的位置。compound的参数可以是:
left 图像在左
right 图像在右
top 图像在上
bottom 图像在下
center 文字覆盖在图像上
示例:
import tkinter as tk
root = tk.Tk()
root.title("小胡编程")
label = tk.Label(root,bitmap="error",
compound="left",text="出错啦!")
label.pack()
root.mainloop()
结果:
当compound="center"是图像和文字是重叠的,比较有趣
实践十 relief参数
这个参数可以用在很多控件上,用来设置控件的边框
示例:
import tkinter as tk
relief = ["flat","groove","raised","ridge","solid","sunken"]
root = tk.Tk()
root.title("小胡编程")
for i in relief:
label = tk.Label(root,relief=i,text=i)
label.pack()
root.mainloop()
结果:
实践十一 padx/pady参数
在设计标签或者其他控件时,若是不设置控件的大小,系统将使用最合适的空间作为控件的大小,而padx/pady可以设置控件的间距。看例子。
示例:
import tkinter as tk
root = tk.Tk()
root.title("小胡编程")
label = tk.Label(root,relief="raised",text="不在纯真的秋天 尸体",
bg="lightyellow",padx=5,pady=10)
label.pack()
root.mainloop()
结果:
pady意思是上下间距,padx的意思是左右间距,单位是像素
实践十二 图像Photolmage参数
图片可以应用到许多地方,如标签,功能按钮,选项按钮,文字区域等。在使用Photolmage()方法创建图像对象,然后再将对象应用在其他窗口组件上。语法如下:
imageobj = PhotoImage(file=“xxx.gif”) #拓展名gif,传回图像对象
示例:
import tkinter as tk
root = tk.Tk()
root.title("小胡编程")
image_gif = tk.PhotoImage(file="aaaa.gif")
label = tk.Label(root,image=image_gif).pack()
root.mainloop()
因为我没用过,所以我也不太清楚为什么
结果:
实践十三 congfig参数
config是一个控件共同方法,控件在建立的时候可以直接设置对象属性,若是部分属性未建立,未来的程序执行时如果想要建立或者是更改属性congfig()方法。此方法内属性设置的参数用方法一建立是相同。
示例:计时器,每过一秒数字加1
import tkinter as tk
counter = 0
def run_counter(digit):
def counting():
global counter
counter += 1
digit.config(text=str(counter))
digit.after(1000, counting)
counting()
root = tk.Tk()
root.title("小胡编程")
digit = tk.Label(root,bg="yellow",fg="blue",
height=3,width=10,font="Helvetic 20 bold")
digit.pack()
run_counter(digit)
root.mainloop()
结果:
实践十四 Cursors
Cursors表示光标的形状。有非常多的种类。
在括号内加上cursor=“xxx”就可以了,这里就不做演示了
实践十五 keys()
keys()也是一个控件共有方法,其作用是用列表(list)传回这个控件的所有参数
import tkinter as tk
root = tk.Tk()
root.title("小胡编程")
digit = tk.Label(root,text="不在纯真的秋天 尸体")
digit.pack()
print(digit.keys())
root.mainloop()
结果:
太长了,这里就简写了,有空自己试试
实践十六 Separator
Separator分割线,在设计GUI的时候,有时适度的加上分割线,会让界面的整体效果更佳。
语法:Separator(父对象,options)
示例:
import tkinter as tk
from tkinter.ttk import Separator
root = tk.Tk()
root.title("小胡编程")
n = "不在纯真的秋天 尸体"
digit = tk.Label(root,text=n)
digit.pack(padx=10,pady=10)
sep = Separator(root,orient=tk.HORIZONTAL)
sep.pack(fill=tk.X,padx=5)
n1 = "夏日沉沦 纳粹高徒"
lab2 = tk.Label(root,text=n1)
lab2.pack(padx=10,pady=10)
root.mainloop()
结果:
这里需要注意的是separator是ttk里的控件,所以使用的时候需要from tkinter.ttk import Separator
或者from tkinter.ttk import * 都可以。
小结:
原本我以为需要三章才能写完的,结果两章就写完啦。如果有错的地方请指正,谢谢。好了,关于Tkinter 中Label的部分就到这里。下一张是Tkinter的三种布局形式。
(附:上一章链接:https://blog.csdn.net/h20050621/article/details/119699092?spm=1001.2014.3001.5501)