布局 pack / grid / place
51.7 布局 pack / grid / place
pack() — 按块上下/左右堆叠,简单表单常用。
grid(row=, column=) — 表格对齐,计算器、复杂表单。
place(x=, y=) — 绝对像素定位,少用。
- pack — 简单垂直/水平
- grid — 表格式
- place — 绝对坐标
grid 计算器布局
# ========================================
# 示例:grid 网格布局
# 说明:row 行 column 列,sticky 拉伸对齐
# ========================================
import tkinter as tk
root = tk.Tk()
buttons = ['7','8','9','4','5','6','1','2','3','0']
for i, txt in enumerate(buttons):
r, c = divmod(i, 3) # 行 i//3 列 i%3
tk.Button(root, text=txt, width=5).grid(row=r, column=c, padx=2, pady=2)
root.mainloop()