【问题标题】:Tkinter/ttk frame and widget positioningTkinter/ttk 框架和小部件定位
【发布时间】:2011-05-17 21:31:27
【问题描述】:

我在我正在制作的一个小 gui 上对齐一些 python tkinter/ttk 小部件时遇到了麻烦。我的 gui 窗口有 4 个“部分”,我用框架表示。我正在使用网格管理器为每个框架填充其各自的标签、条目、组合框等。Frame2(右上角,或笛卡尔象限 1)是最大的。为了符合对称性,我将所有帧的 sticky 选项设置为 N+S+E+W。这创建了 4 个填充整个空间的框架,其中窗口的上半部分有两个大小相同的框架,窗口的下半部分有两个大小相同的框架。我的镜框有浮雕(凸起),因此每个镜框都有视觉上的分离。

我的问题

我的框架 1(笛卡尔象限 2)是最小的框架,但是,使用网格,它的大小与框架 2 匹配。这个不错,想要这个但是,frame1 的小部件也比框架 2 少得多,并且不是在 sticky = NW 处对齐所有小部件(就像我的所有其他框架一样),它首先将所有小部件居中。这导致小部件在框架中具有巨大的填充边框,使其看起来非常不均匀。我希望小部件位于我的 frame1 的 NW 边框中,并且在它们下方的框架中有空余空间。

有没有网格方法,或者我错过了一个概念?我已经挖掘了大量的示例/论坛/等,以寻找对这个问题的类似描述。我希望我已经足够清楚了,我的代码现在还不是很漂亮,因为我现在只是想产生我的视觉想法。如果需要更多信息或代码,我可以发布。

提前致谢, 克里斯.

【问题讨论】:

    标签: tkinter position widget frames


    【解决方案1】:

    看起来您的框架中有六行。使用 grid_configure 将第七行的权重设置为 1。假设所有其他行的权重为零,则该额外行将扩展以填充可用空间。

    【讨论】:

    • 干杯,工作得很好,尤其是使用 grid_size() 来确定每一帧中的最后一行。现在我所有的框架都排列得很好。
    猜你喜欢
    • 2011-05-06
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 2014-07-08
    • 1970-01-01
    • 2021-05-13
    相关资源
    最近更新 更多