美文网首页
GUI中Label组件

GUI中Label组件

作者: Chaweys | 来源:发表于2021-01-05 09:42 被阅读0次

Label(标签)主要用于显示文本信息,也可以显示图像

Label(标签)有这样一些常见属性
width和height:  指定宽度和高度
 
font:    指定字体和字体大小,如:font = (font_name,size)

image:    显示在 Label 上的图像,目前 tkinter 只支持 gif 格式

fg和bg:  fg(foreground):前景色、bg(background):背景色

justify: 针对多行文字的对齐,可设置 justify 属性,可选值"left", "center" or "right"



#coding=utf-8
'''
使用面向对象创建典型的GUI
'''
from tkinter import *
from tkinter import messagebox



class Application(Frame):
    def __init__(self,master):     #重定义父类的构造方法
        super().__init__(master)   #显示的调用的父类的构造方法,才能调用父类的实例属性
        self.master=master
        self.pack()
        self.createWidget()

    def createWidget(self):
        '''
        创建一个标签:label01,text文本值为"送你一朵花",宽10,高2,背景色黑色,前景色白色   
        '''
        self.label01=Label(self,text="送你一朵花",width=10,height=2,
                           bg="black",fg="white")
        self.label01.pack()

        '''
        font设置字体
        '''
        self.label02=Label(self,text="玫瑰花",width=10,height=2,
                           bg="blue",fg="white",font=("黑体",20))
        self.label02.pack()



        '''
        显示图像
        为什么要声明photo为全局变量?
        因为root.mainloop()为循环调用,当app = Application(root)只执行完一次时,本方法里该photo对象就被销毁了,
        一次是无法在窗口显示图片的,所以需要把photo声明为全局变量,这样就算只执行一次该方法,该photo对象也还存在,即
        窗口中可显示图片了。
        '''
        global photo
        #定义图片对象
        photo=PhotoImage(file="./imgs/logo.gif")
        self.label03=Label(self,image=photo)
        self.label03.pack()


        '''
        显示多行文本
        borderwidth=2设置边框粗细
        relief="solid"设置边框3D效果
        justify="left"左对齐
        '''
        self.label04=Label(self,text="百战学员\n学无止境呢",
                           borderwidth=2,relief="solid",
                           justify="left")
        self.label04.pack()


if __name__=="__main__":
    root=Tk()                            #创建应用程序主窗口对象
    root.title("面向对象式的GUI")
    root.geometry("500x300+300+250")
    app = Application(root)              #主窗口对象传递给类Application创建类对象
    root.mainloop()
label标签1.png
label标签2.png
label标签3.png
label标签4.png

相关文章

网友评论

      本文标题:GUI中Label组件

      本文链接:https://www.haomeiwen.com/subject/ewseoktx.html