首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

tkinter -- Frame

Frame 就是屏幕上的一块矩形区域,多是用来作为容器(container)来布局窗体

创建Frame

代码:

代码语言:javascript
复制
import tkinter as tk

root = tk.Tk()
# 以不同的颜色区别各个frame
for i in ['red', 'blue', 'yellow', 'green', 'white', 'black']:
    # 注意这个创建frame的方法与其它创建控件的方法不同,第一个参数不是root
    tk.Frame(height=20, width=400, bg=i).pack()
root.mainloop()

效果:

添加不同颜色的 Frame,大小均为20*400

向 Frame 中添加 Widget

代码:

代码语言:javascript
复制
import tkinter as tk

root = tk.Tk()
fm = []
# 以不同的颜色区别各个frame
for i in ['red', 'blue', 'yellow', 'green', 'white', 'black']:
    # 注意这个创建frame的方法与其它创建控件的方法不同,第一个参数不是root
    fm.append(tk.Frame(height=20, width=400, bg=i))

# 向下面的Frame中添加一个Label
tk.Label(fm[1], text='hello world').pack()
for i in fm:
    i.pack()
root.mainloop()

结果:

Label 被添加到上面的 Frame 中了,而不是 root 默认的最上方

Tk8.4以后 Frame 又添加了一类 LabelFrame,添加了 Title 的支持

代码:

代码语言:javascript
复制
import tkinter as tk

root = tk.Tk()

# 以不同的颜色区别各个frame
for i in ['red', 'blue', 'yellow', 'green', 'white', 'black']:
    # 可以使用 text 属性指定 Frame 的 title
    tk.LabelFrame(height=50, width=300, text=i,bg=i).pack()

root.mainloop()

效果:

下一篇
举报
领券