python tkinter grid 布局管理,frame自动大小适应

tkinter grid布局教程

tkinter 元素布局方式

参考菜鸟教程tkinter有三种方式分别为pack()grid()place()

其中grid()有着其他两种方法不能有的优势

grid方法将窗口按照行列划分,便于布局管理

以下是使用grid布局管理实现可伸缩大小的布局

在这里插入图片描述

from tkinter import *


init_window = Tk()
# 实例一个主窗口

init_window.title('grid frames')
init_window.geometry('500x500')
init_window.grid_rowconfigure(0, weight=1)
init_window.grid_columnconfigure(0, weight=1)
init_window.grid_columnconfigure(1, weight=1)
init_window.grid_rowconfigure(1, weight=1)
# 只有对每一行每一列都设置了grid_row/columnconfigure才能实现frame大小的扩充,其中weight参数可以设置每一块的权重

frame_1 = Frame(init_window,padx=5,pady=5,bg='red')
frame_2 = Frame(init_window,padx=5,pady=5,bg='pink')
frame_3 = Frame(init_window,padx=5,pady=5,bg='peachpuff')
frame_4 = Frame(init_window,padx=5,pady=5,bg='green')

frame_1_label = Label(frame_1,text='frame1')
frame_2_label = Label(frame_2,text='frame2')
frame_3_label = Label(frame_3,text='frame3')
frame_4_label = Label(frame_4,text='frame4')

frame_1_label.pack()
frame_2_label.pack()
frame_3_label.pack()
frame_4_label.pack()

frame_1.grid(row=0,column=0,sticky=NSEW)
# frame_1.grid(row=0,column=0,columnspan=2,sticky=NSEW)
# columnspan参数代表frame占几列的网格长度若设置为2就横跨2格
frame_2.grid(row=0,column=1,sticky=NSEW)
frame_3.grid(row=1,column=0,sticky=NSEW)
frame_4.grid(row=1,column=1,sticky=NSEW)
# 这里的sticky参数也是必须的,相当于允许frame在什么方向扩充NSEW分别就是 北南东西

init_window.mainloop() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值