布局 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()