布局管理(tkinter,Python3.x)

布局管理

本节介绍 window 是如何排列插件的。之后我们会介绍插件的详细知识。

虽然在 tkinter 中,有三个不同的“结构管理器”,但是 tkinter 的作者更倾向用 .grid()结构管理器来管理所有内容。.grid()管理器将每个 window 或 frame 看成一个表—-一个多行多列的网状结构。

  • cell 是行与列交叉处的一个区域;
  • 每列最宽 cell 的宽度,即为该列的宽度;
  • 同样,每行最高 cell 的高度,即为该行的高度;
  • 对于没有填满整个 cell 的插件,你可以指定如何处理这些多余的空间。你可以不管这些空间;或者在水平或者垂直方向上延展插件,使插件适应 cell 的大小;
  • 你可以将多个 cell 组合成一个大区域,称这种操作为拉线。

当你创建一个插件,它不会立即显示出来,直到你调用了改插件的结构管理器。因此,创建和布局插件需要两个步骤,比如:

self.thing = tk.Constructor(parent, ...)
self.thing.grid(...)

Constructor是一个插件类,比如 Button、Frame 等,parent是这个子插件的父插件。所有的插件都有 .grid() 方法,你可以告诉结构管理器,将插件布放在哪里。

例如代码:

# -*- coding: utf-8 -*-
import tkinter as tk

class Application(tk.Frame):
    """docstring for Application"""
    def __init__(self):
        super (Application, self).__init__()
        self.grid()
        self.grid_Label = tk.Label(self, text = '.grid() func')
        self.grid_Label.grid()

app = Application()
app.mainloop()

运行结果:

grid

注:本文翻译自新墨西哥理工大学计算机中心

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值