欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python基础知识--pack()、grid()、place()布局管理器详解

程序员文章站 2022-05-30 08:34:26
...

pack()布局管理器

pack()布局管理器的概念

pack 按照组件的创建顺序将子组件添加到父组件中, 按照垂直或者水平的方向自然排布。 如果不指定任何选项, 默认在父组件中自顶向下垂直添加组件。
pack 是代码量最少, 最简单的一种, 可以用于快速生成界面。

pack()布局管理器的参数

python基础知识--pack()、grid()、place()布局管理器详解

代码展示

import tkinter as tk
win = tk.Tk()
win.geometry("300x300")

lab1 = tk.Label(win, text="pack布局1", width=10, height=2, bg="pink")
lab1.pack()
lab2 = tk.Label(win, text="pack布局2", width=10, height=2, bg="blue")
lab2.pack()
lab3 = tk.Label(win, text="pack布局3", width=10, height=2, bg="pink")
lab3.pack()
lab4 = tk.Label(win, text="pack布局4", width=10, height=2, bg="blue")
lab4.pack()
lab5 = tk.Label(win, text="pack布局5", width=10, height=2, bg="pink")
lab5.pack()



win.mainloop()

运行成果展示

python基础知识--pack()、grid()、place()布局管理器详解

grid()布局管理器

grid()布局管理器概念

grid 表格布局, 采用表格结构组织组件。 子组件的位置由行和列的单元格来确定, 并且可以跨行和跨列, 从而实现复杂的布局。

grid()布局管理器的参数

python基础知识--pack()、grid()、place()布局管理器详解

代码展示

import tkinter as tk
win = tk.Tk()
win.geometry("300x300")

lab1 = tk.Label(win, text="pack布局1", width=10, height=2, bg="pink")
lab1.grid(row=0, column=0, padx=35)
lab2 = tk.Label(win, text="pack布局2", width=10, height=2, bg="blue")
lab2.grid(row=0, column=1)
lab3 = tk.Label(win, text="pack布局3", width=10, height=2, bg="pink")
lab3.grid(row=1, column=0)
lab4 = tk.Label(win, text="pack布局4", width=10, height=2, bg="blue")
lab4.grid(row=1, column=1)
lab5 = tk.Label(win, text="pack布局5", width=10, height=2, bg="pink")
lab5.grid(row=2, column=0)
lab6 = tk.Label(win, text="pack布局5", width=10, height=2, bg="blue")
lab6.grid(row=2, column=1)




win.mainloop()

运行成果展示

python基础知识--pack()、grid()、place()布局管理器详解

place()布局管理器

place()布局管理器概念

place 布局管理器可以通过坐标精确控制组件的位置, 适用于一些布局更加灵活的场景。

place()布局管理器参数

python基础知识--pack()、grid()、place()布局管理器详解

代码展示

import tkinter as tk
win = tk.Tk()
win.geometry("300x300")

lab1 = tk.Label(win, text="pack布局1", width=10, height=2, bg="pink")
lab1.place(x=20, y=20)
lab2 = tk.Label(win, text="pack布局2", width=10, height=2, bg="blue")
lab2.place(x=50, y=80)
lab3 = tk.Label(win, text="pack布局3", width=10, height=2, bg="pink")
lab3.place(x=120, y=120)


win.mainloop()

运行成果展示

python基础知识--pack()、grid()、place()布局管理器详解