Label的主要参数如下:
-
width,height
用于指定显示区域的大小,如果显示的是文本,则以单个英文字符大小为单位(一个汉字占2个字符位置,高度同英文)。如果显示的是图像,则以像素为单位。默认值是根据内容自动调整的. -
font
指定字体和字体大小,如font = (“黑体”,22) -
image
显示在Label上的图像,目前tkinter只支持gif格式 -
fg和bg
fg(foreground):前景颜色;
bg(background):背景颜色。 -
justify
对齐方式,默认为“center”,可以更改为“left”或“right”。**
示例程序如下所示
"""
测试一个经典的GUI程序的写法,使用面向对象的方式
"""
from tkinter import *
from tkinter import messagebox
class Application(Frame):
"""一个经典的GUI程序写法"""
def __init__(self, master=None):
super().__init__(master) # super代表的是父类的定义,而不是父类对象
self.master = master
self.pack()
self.creatwidget()
def creatwidget(self):
"""创建新的组件"""
self.label01 = Label(self,text="程序员1",width=10,height=2,
bg="white",fg="black")
self.label01.pack()
self.label02 = Label(self, text="程序员2", width=20, height=4,
bg="black", fg="white",font=("华文行楷",30))
self.label02.pack()
#显示图像
global photo
#必须设置为全局变量,否则本方法执行完毕后图片对象销毁,窗口无法显示图像
photo = PhotoImage(file="2.gif") #导入图像
self.label03 = Label(self,image=photo)
self.label03.pack()
#显示多行文本
self.label04 = Label(self,text="我是一个编程的\n小辣鸡",
borderwidth=5,relief="raised",justify="center")
# borderwidth为边界宽度,relief是显示效果
self.label04.pack()
if __name__ == '__main__':
root = Tk()
root.geometry("800x600") #页面大小
root.title("Lable测试") #页面名称
app = Application(master=root) #实例化
root.mainloop()
程序运行结果如下所示:
需要注意的是,如果页面设置太小,可能会导致图片显示不出来