栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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() 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/928655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号