python基础知识--pack()、grid()、place()布局管理器详解
程序员文章站
2022-05-30 08:34:26
...
布局管理器
pack()布局管理器
pack()布局管理器的概念
pack 按照组件的创建顺序将子组件添加到父组件中, 按照垂直或者水平的方向自然排布。 如果不指定任何选项, 默认在父组件中自顶向下垂直添加组件。
pack 是代码量最少, 最简单的一种, 可以用于快速生成界面。
pack()布局管理器的参数
代码展示
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()
运行成果展示
grid()布局管理器
grid()布局管理器概念
grid 表格布局, 采用表格结构组织组件。 子组件的位置由行和列的单元格来确定, 并且可以跨行和跨列, 从而实现复杂的布局。
grid()布局管理器的参数
代码展示
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()
运行成果展示
place()布局管理器
place()布局管理器概念
place 布局管理器可以通过坐标精确控制组件的位置, 适用于一些布局更加灵活的场景。
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()