【问题标题】:Difference between "grid" and "pack" geometry managers“grid”和“pack”几何管理器之间的区别
【发布时间】:2011-04-27 08:28:00
【问题描述】:

Tkinter 几何管理器gridpack 之间的主要区别是什么?

您的项目使用什么?

如果grid更适合对齐对象,那么pack的主要用途是什么?

【问题讨论】:

    标签: python python-3.x layout tkinter


    【解决方案1】:

    grid 用于在网格中布置小部件。另一个答案说它“覆盖了一个图表”,这有点用词不当。它不覆盖任何东西,它只是沿行和列边界排列小部件。它非常适合创建表格和其他结构化类型的布局。

    pack 沿着盒子的侧面布置东西。它擅长在所有内容都在单行或单列中进行布局(想想工具栏或对话框中的按钮行)。它对于非常简单的布局也很有用,例如左侧的导航器和右侧的主工作区。它可以用来创建非常复杂的布局,但是在你完全理解打包算法之前它会变得很棘手。

    您不能同时使用 grid 和 pack 与具有共同父级的小部件。您的应用程序可能会工作,但它更有可能进入无限循环,因为每个管理器都尝试布局小部件,然后另一个管理器注意到小部件改变大小并尝试调整等等。

    第三个管理员是place。 Place 非常适合进行绝对定位(即:将小部件放置在给定的 x/y 处)或相对定位(例如:将小部件放置在其他小部件的右边缘)。

    虽然您不能在同一个容器中混合使用 grid 和 pack(容器通常是一个框架),但您可以在单个应用程序中同时使用 grid 和 pack。这是非常非常普遍的,因为每个都有优点和缺点。我定期使用两者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 2020-10-03
      • 2019-06-28
      • 1970-01-01
      • 2013-11-05
      • 2013-11-26
      • 1970-01-01
      相关资源
      最近更新 更多