Tkinter 9.2 geometry manager 之 Grid

本文详细介绍了如何在Tkinter中使用Grid布局管理组件,包括行列索引、跨行跨列、单元格大小自适应、columnconfigure和rowconfigure设置以及sticky选项的使用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Grid按行列来摆放组件,索引是从0开始计数。但是计数可以跳过而不按顺序,如1,2,8,10,这样方便后期中中间添加。行列交叉可视为一个单元格,一个单元格只能装一个组件。如果想在单元格中放多个组件,就可以使用Frame或者 LabelFrame组件。

单元格

单元格的行高列宽是由其包含的组件来确实的,列宽取决于组件的宽度,行高取决于组件的高度。同时,单元格可以跨多行或者跨多列,如下图。
在这里插入图片描述

grid配置

container.columnconfigure(index, weight)
container.rowconfigure(index, weight)

如columnconfigure可以设定具体的某index列所占用的宽度。如默认情况下,其他列weight为1, index列为2的话,那index列的宽度就相当于两倍大。

grid设置位置

widget.grid(**options)

grid可以使用的参数列表如下:

  • column:
  • row
  • rowspan
  • columnspan
  • sticky
  • padx
  • pady
  • ipadx
  • ipady

主要介绍下sticky。默认情况下,如果单元格比组件大,grid方法会将组件放在单元格的center位置,如下图:
在这里插入图片描述
sticky可以取如下值 :

  • N
  • S
  • E
  • W
  • NW
  • NE
  • SE
  • SW
  • NS
  • EW
    其中,NS位置如下:
    在这里插入图片描述
    EW位置:

在这里插入图片描述

代码示例

生成一个如下登录框:
在这里插入图片描述

import tkinter as tk
from tkinter import ttk

# root window
root = tk.Tk()
root.geometry("240x100")
root.title('Login')
root.resizable(0, 0)

# configure the grid
root.columnconfigure(0,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值