python之tkinter库的frame组件
frame作用就是为了布局,将一组组件作为一个整体放在一个frame中,也方便对这一组组件进行控制。frame组件作为其他组件的框架,将布局分为一个个单独的空间,配合其他布局函数以实现复杂的界面布局。焦点默认是不会访问标签控件,只有设置为true时,tab键才可用来选择框架内的控件。# 父框架,背景是白色高400,宽800,边10,横和纵边距为20和30,边框的风格是sunken。# 即使框架本身
frame作用就是为了布局,将一组组件作为一个整体放在一个frame中,也方便对这一组组件进行控制。frame组件作为其他组件的框架,将布局分为一个个单独的空间,配合其他布局函数以实现复杂的界面布局。
语法:
Frame(父对象,参数列表,……)
Frame(master=none,**options)(class)
参数:
参数名称 |
属性 |
举例或备注 |
background或bg |
组件背景颜色 |
|
borderwidth或bd |
边框宽度 |
|
width |
宽度 默认:0 |
|
height |
高度 |
|
container |
是否作为容器,可嵌入其他应用程序。 默认:Flase |
|
cursor |
在frame上时的鼠标样式。 取值可以是加号 plus 圆圈 circle等 默认:系统指定 |
|
highlightbackground |
未获得焦点时,组件颜色。 默认:系统指定 |
|
highlightcolor |
获得焦点时,组件的颜色。 默认:系统指定 |
|
highlightthickness |
frame组件厚度 默认:0 |
|
padx |
横向边距 |
|
pady |
纵向边距 |
|
relief |
边框样式。 可选参数:sunken、raised、groove、ridge 默认:flat |
|
takefocus |
是否接受输入焦点(tab键选择组件) 默认:假 |
默认如entry即使此值为假仍可获得焦点。label必须此值为真才可以。 |
代码综合示例:
import tkinter as tk root = tk.Tk() # 父框架,背景是白色高400,宽800,边10,横和纵边距为20和30,边框的风格是sunken。 frameMaster0 = tk.Frame(root,bg='white',height='400',width='800',bd='10',padx='20',pady='30',relief='sunken',) # takefocus 默认是否。焦点默认是不会访问标签控件,只有设置为true时,tab键才可用来选择框架内的控件。 # 经验证,takefocus使用0或1代表假或真。entry组件默认即使不通过takefocus设置仍然可以通过tab键访问。 frameMaster1 = tk.Frame(frameMaster0,bg='lightblue',height='400',width='500',bd='10',padx='20',pady='200',takefocus='1') # 鼠标移动到frameMaster2框架内变为加号 frameMaster2 = tk.Frame(frameMaster0,bg='red',height='200',width='200',bd='10',cursor='plus',) frameMaster3 = tk.Frame(frameMaster0,bg='green',height='200',width='200',bd='10',cursor='circle') frameMaster4 = tk.Frame(root,bg='orange',height='50',width='100',bd='10') frameMaster5 = tk.Frame(root,bg='green',height='80',width='120',bd='10') # 即使框架本身设置了宽、高等,仍然要考虑框架中组件的大小,会影响框架的实际大小。 label1 = tk.Label(frameMaster1,text='label1') btn1 = tk.Button(frameMaster1,text='btn1') entry1 = tk.Entry(frameMaster2,bd=5,width='20') entry2 = tk.Entry(frameMaster2,bd=5,width='20') frameMaster0.pack() # 设置frameMaster1排列在frameMaster0框架内的左侧。属性可以是LEFT RIGHT TOP BOTTOM frameMaster1.pack(side=tk.LEFT) frameMaster2.pack() frameMaster3.pack() frameMaster4.pack() frameMaster5.pack() label1.pack() btn1.pack() entry1.pack() entry2.pack() root.mainloop()

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)