Tkinter Frame 框架的基本概念
这是一个容器控件,当我们设计的GUI程序很复杂时,此时可以考虑将一系列相关的Widget组织在一个框架内,这样可以方便管理。它的构造方法语法如下。
Frame(master, options, ...) #父对象可以忽略
Frame( )方法的第一个参数是父对象,表示这个框架将建立在哪一个父对象内。下列是Frame( )方法内其他常用的options参数。
(1)bg or background
:背景色彩。
(2)borderwidth or bd
:标签边界宽度,默认是2。
(3)cursor
:当鼠标光标在框架上时的光标形状。
(4)height
:框架的高度,单位是像素。
(5)highlightbackground
:当框架没有取得焦点时的颜色。
(6)highlightcolor
:当框架取得焦点时的颜色。
(7)highlighthickness
:当框架取得焦点时的厚度。
(8)relief
:默认是relief=FLAT,可由此控制框架外框。
(9)width
:框架的宽度,单位是像素,省略时会自行调整为实际宽度。
示例1
建立三个不同底色的框架。
from tkinter import *
root = Tk()
root.title("apidemos.com")
for fm in ["red","green","blue"]: # 建立三个不同底色的框架
Frame(root,bg=fm,height=50,width=250).pack()
root.mainloop()
输出:
执行结果从上述实例应该了解,框架也是一个Widget控件,所以最后也需要使用控件配置管理员包装与定位,此例中是使用pack( )。
示例2
在调用Frame构造方法时,省略父对象。
from tkinter import *
root = Tk()
root.title("apidemos.com")
for fm in ["red","green","blue"]: # 建立三个不同底色的框架
# Frame(root,bg=fm,height=50,width=250).pack()
Frame(bg=fm,height=50,width=250).pack() # 调用构造方法时省略父对象
root.mainloop()
输出:
示例3
使用横向配置方式(side=LEFT),同时让鼠标光标在不同的框架上有不同的形状。
from tkinter import *
root = Tk()
root.title("apidemos.com")
# 用字典存储框架颜色与光标形状
fms = {
"red":"cross",
"green":"boat",
"blue":"clock"
}
for fmColor in fms.keys(): # 建立三个不同底色的框架与光标形状
# Frame(root,bg=fm,height=50,width=250).pack()
Frame(root,bg=fmColor,cursor=fms[fmColor],
height=50,width=250).pack(side=LEFT) # 调用构造方法时省略父对象
root.mainloop()
输出: