8.2 标签框架LabelFrame

2020-06-21  本文已影响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()
上一篇下一篇

猜你喜欢

热点阅读