美文网首页
8.2 标签框架LabelFrame

8.2 标签框架LabelFrame

作者: 蝉时雨丶 | 来源:发表于2020-06-21 16:56 被阅读0次

    标签框架的基本概念

    这也是一个容器控件,主要是将一系列相关的Widget组织在一个标签框架内,然后给它一个名称。
    它的构造方法语法如下:
    LabelFrame(父对象,options,···)

    LabelFrame()方法的第一个参数是父对象,表示这个框架将建立在哪一个父对象内。下列是LabelFrame()
    方法内其他常用的options参数。
    (1)bg或background:背景色彩。
    (2)borderwidth或bd:标签边界宽度,默认是2。
    (3)cursor:当鼠标光标在框架上时的光标形状。
    (4)font:标签框架中文字的字形。
    (5)height:框架的高度,单位是像素。
    (6)highlightbackground:当框架没有取得焦点时的颜色。
    (7)highlightcolor:当框架取得焦点时的颜色。
    (8)highlightickness:当框架取得焦点时的厚度。
    (9)labelAnchor:设置放置标签的位置。
    (10)relief:默认是relief=FLAT,可由此控制框架的外框。
    (11)text:标签内存。
    (12)width:框架的宽度,单位是像素,省略时会自行调整为实际宽度。

    样例:将账号和密码使用标签框架框起来,此框架标签的文字是"数据验证"。

    from tkinter import *
    
    root=Tk()
    root.title("ch8_7")
    msg="欢迎进入Silicon Stone Education系统"
    sseGif=PhotoImage(file="sse.gif")
    logo=Label(root,image=sseGif,text=msg,compound=BOTTOM)
    logo.pack()
    
    labFrame=LabelFrame(root,text="数据验证")
    accountL=Label(labFrame,text="Account")
    accountL.grid(row=0,column=0)
    pwdL=Label(labFrame,text="Password")
    pwdL.grid(row=1,column=0)
    
    accountE=Entry(labFrame)
    accountE.grid(row=0,column=1)
    pwdE=Entry(labFrame,show="*")
    pwdE.grid(row=1,column=1,pady=10)
    labFrame.pack(padx=10,pady=5,ipadx=5,ipady=5)
    
    root.mainloop()
    

    运行结果:


    标签框架

    将标签框架应用于复选框

    标签框架的应用范围很广泛,也常应用于将选项按钮或是复选框组织起来。

    实例:

    from tkinter import *
    
    def printInfo():
        selection=""
        for i in checkboxes:
            if checkboxes[i].get()==True:
                selection=selection+sports[i]+"\t"
            print(selection)
    
    root=Tk()
    root.title("ch8_8")
    root.geometry("400x220")
    
    labFrame=LabelFrame(root,text="选择最喜欢的运动")
    sports={0:"美式足球",1:"棒球",2:"篮球",3:"网球"}
    checkboxes={}
    for i in range(len(sports)):
        checkboxes[i]=BooleanVar()
        Checkbutton(labFrame,text=sports[i],
                    variable=checkboxes[i]).grid(row=i+1,sticky=W)
    
    labFrame.pack(ipadx=5,ipady=5,pady=10)
    
    btn=Button(root,text="确定",width=10,command=printInfo)
    btn.pack()
    
    root.mainloop()
    

    相关文章

      网友评论

          本文标题:8.2 标签框架LabelFrame

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