tkinter 布局管理

该方法将widget w 注册到网格几何管理器——如果你不这样做,widget 将在内部存在,但它不会在屏幕上可见。 有关选项,请参见表 1,“.grid() 几何管理器”。

| 参数 | 描述 |

| — | — |

| column | 您希望小部件网格化的列号,从零开始计数。 默认值为零。 |

| columnspan | 通常一个小部件只占据网格中的一个单元格。 但是,您可以通过将 columnspan 选项设置为 columnspan 单元格数来获取一行的多个单元格并将它们合并为一个更大的单元格。 例如, w.grid(row=0, column=2, columnspan=3) 会将小部件 w 放置在跨越第 0 行的第 2、3 和 4 列的单元格中。 |

| in_ | 要将 w 注册为某个小部件 w2 的子部件,请使用 in_=w2。新的父控件 w2 必须是创建 w 时使用的父控件的后代。 |

| ipadx | 内部横向填充。 此尺寸添加到窗口小部件的左侧和右侧。 |

| ipady | 内部纵向填充。 此尺寸添加到窗口小部件的顶部和底部边框内。 |

| padx | 外部横向填充。 此尺寸添加到小部件外部的左侧和右侧。 |

| pady | 外部纵向填充。 此尺寸添加到小部件外部的上方和下方。 |

| row | 您希望小部件网格化的行号,从零开始计数。 默认值为零 |

| rowspan | 通常一个小部件只占据网格中的一个单元格。 但是,您可以通过将 rowspan 选项设置为要抓取的单元格数来抓取一列的多个相邻单元格。 rowspan 此选项可与 columnspan 选项结合使用以抓取单元格块。 例如,w.grid(row=3, column=2, rowspan=4, columnspan=5) 会将小部件 w 放置在合并20 个单元格形成的区域中,行号为3-6,列号为2-6。 |

| sticky | 此选项确定如何在单元格内分配小部件未以其自然大小占用的任何额外空间。 见下文。 |

  • 如果您不提供sticky属性,则默认行为是将小部件居中放置在单元格中。

  • 您可以使用sticky=tk.NE(右上角)、tk.SE(底部 右侧)、tk.SW(左下)或 tk.NW(左上)。

  • 您可以使用sticky=tk.N(顶部中心)将小部件放置在单元格一侧的中心位置,tk.E(右侧 中心)、tk.S(底部 中心)或 tk.W(左侧 中心)。

  • 使用sticky=tk.N+tk.S 垂直拉伸小部件但保持水平居中。

  • 使用sticky=tk.E+tk.W 将其水平拉伸但使其垂直居中。

  • 使用sticky=tk.N+tk.E+tk.S+tk.W 水平和垂直拉伸小部件以填充单元格。

  • 其他组合也将起作用。 例如,sticky=tk.N+tk.S+tk.W 将垂直拉伸小部件并将其放置在西(左)墙上。

其他网格管理方式


此处内容对初学者不重要,日后再补

配置列和行的大小


除非您采取某些措施,否则给定小部件内的网格列的宽度将等于其最宽单元格的宽度,而网格行的高度将是其最高单元格的高度。

如果小部件没有完全填满单元格,小部件上的sticky属性仅控制它的放置位置。

如果要覆盖列和行的这种自动调整大小,请在包含网格布局的父控件件 w 上使用这些方法:


w.columnconfigure(N, option=value, ...)

在小部件 w 内的网格布局中,配置列 N 以便给定选项具有给定值。 有关选项,请参见下表。


w.rowconfigure(N, option=value, ...)

在小部件 w 内的网格布局中,配置第 N 行,以便给定选项具有给定值。

有关选项,请参见下表。

以下是用于配置列和行大小的选项:

| 属性 | 描述 |

| — | — |

| minsize | 列或行的最小尺寸(以像素为单位)。 如果给定的列或行中没有任何内容,即使您使用此选项,它也不会出现。 |

| pad | 将添加到给定列或行、列或行中最大单元格上方和上方的像素数。 |

| weight | 要使列或行可拉伸,请使用此选项并提供一个值,该值在分配额外空间时给出此列或行的相对权重。 例如,如果小部件 w 包含网格布局,这些行会将额外空间的四分之三分配给第一列,将四分之一分配给第二列 w.columnconfigure(0, weight=3) w.columnconfigure(1, weight=1) 如果未使用此选项,则列或行将不会拉伸。 |

使顶层窗口大小可调整


您是否希望让用户调整整个应用窗口的大小,并在其内部小部件中分配额外的空间?这需要一些不明显的操作。

有必要使用上文中描述的行和列大小管理技术"配置列和行大小",使应用中的小部件网格可拉伸。然而,仅靠这一点是不够的。

考虑在上文“最小应用程序”中讨论的简单应用程序,它只包含一个退出按钮。 如果您运行此应用程序并调整窗口大小,按钮将保持相同大小,并在窗口内居中。


def createWidgets(self):

        top=self.winfo_toplevel()                1

        top.rowconfigure(0, weight=1)            2

        top.columnconfigure(0, weight=1)         3

        self.rowconfigure(0, weight=1)           4

        self.columnconfigure(0, weight=1)        5

        self.quit = Button(self, text='Quit', command=self.quit)

        self.quit.grid(row=0, column=0,          6

            sticky=tk.N+tk.S+tk.E+tk.W)

  1. “顶层窗口”是屏幕上最外层的窗口。 但是,这个窗口不是您的应用程序窗口——它是应用程序实例的父窗口。 要获取顶级窗口,请在应用程序中的任何小部件上调用 .winfo_toplevel() 方法。

  2. 此行使顶层窗口的网格的第 0 行可拉伸。

算法

  1. 冒泡排序

  2. 选择排序

  3. 快速排序

  4. 二叉树查找: 最大值、最小值、固定值

  5. 二叉树遍历

  6. 二叉树的最大深度

  7. 给予链表中的任一节点,把它删除掉

  8. 链表倒叙

  9. 如何判断一个单链表有环

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

  1. 二叉树的最大深度

  2. 给予链表中的任一节点,把它删除掉

  3. 链表倒叙

  4. 如何判断一个单链表有环

    [外链图片转存中…(img-XJMItXbU-1719226028067)]

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值