知行编程网知行编程网  2022-10-08 02:00 知行编程网 隐藏边栏  47 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python Tkinter Grid布局管理器用法的相关知识,包括边界布局管理器,以及tkinter 布局这些编程知识,希望对大家有参考作用。

很多时候Tkinter界面编程都会优先使用Pack布局,但其实Tkinter后来引入的Grid布局不仅好用,而且管理组件也很方便。

网格将组件空间分解成一个网格进行维护,即将组件按行和列排列。组件的位置由它们所在的行号和列号决定。行号相同但列号不同的元件将依次上下放置。排列,列号相同但行号不同的几个组件会左右排列。

使用网格布局的过程是为每个组件指定行号和列号的过程。你不需要为每个网格指定大小,网格布局会自动为它们设置适当的大小。

程序调用组件的grid()方法进行Grid布局。调用 grid() 方法时,可以传入多个选项。此方法支持的选项与 pack() 方法的选项相同。 grid() 方法添加了以下选项:

column:指定将组件放入哪列。第一列的索引为 0。

columnspan:指定组件横跨多少列。

row:指定组件放入哪行。第一行的索引为 0

rowspan:指定组件横跨多少行。

sticky:有点类似于pack()方法的anchor选项,同样支持N(北,代表上),E(东,代表右),S(南,代表下),W(西,代表左) , NW(西北),代表左上),NE(东北,代表右上),SW(西南,代表左下),SE(东南,代表右下),CENTER(中,默认值)这些价值观。

下面程序使用 Grid 布局来实现一个计算器界面:

# Python 2.x使用这行
#from Tkinter import *
# Python 3.x使用这行
from tkinter import *

class App:
    def __init__(self, master):
        self.master = master
        self.initWidgets()
    def initWidgets(self):
        # 创建一个输入组件
        e = Entry(relief=SUNKEN, font=('Courier New', 24), width=25)
        # 对该输入组件使用Pack布局,放在容器顶部
        e.pack(side=TOP, pady=10)
        p = Frame(self.master)
        p.pack(side=TOP)
        # 定义字符串的元组
        names = ("0" , "1" , "2" , "3"
            , "4" , "5" , "6" , "7" , "8" , "9"
            , "+" , "-" , "*" , "/" , ".", "=")
        # 遍历字符串元组
        for i in range(len(names)):
            # 创建Button,将Button放入p组件中
            b = Button(p, text=names[i], font=('Verdana', 20), width=6)
            b.grid(row=i // 4, column=i % 4)
root = Tk()
root.title("Grid布局")
App(root)
root.mainloop()

上面的程序实际上使用了两个布局管理器进行嵌套。首先,Pack 布局用于管理两个组件。分贝是Entry(输入组件)和Frame(容器)。这两个组件将从上到下依次排列。安排。

接下来,程序使用 Grid 布局管理 Frame 容器中的 16 个按钮,将 16 个按钮分别放置在不同的行和列中。运行上面的程序,可以看到如下所示的界面。

Python Tkinter Grid 布局管理器使用

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享