Python - Tkinter如何在两个ttk.Labelframe之间添加空间

时间:2017-02-27 23:54:16

标签: python-3.x tkinter

我确定我在这里遗漏了一些东西,但是当我们在两个ttk.Labelframe物品彼此相邻放置时,我无法增加间隙或空间Grid()几何管理器(参见下面的图片)。

enter image description here

我的代码结构(伪)的简单表示如下:

Root()
    mainframe = ttk.Frame()
         frame1 = ttk.Labelframe()
         frame1.Grid(row=0, column=0)
         frame2 = ttk.Labelframe()
         frame2.Grid(row=0, column=1)

我尝试mainframe.rowconfigure(0,weight=1)mainframe.columnconfigure((0,1), weight=1)无效(但这适用于这些框架内的其他小部件)。我还尝试向padding添加更多mainframe,但这只会在mainframe内部添加填充。 frame1和frame2,不在它们之间。

我可能错过了某个关键字或属性,但我还没找到它。请记住,我使用主题tkinter小部件(ttk),因此并非所有关键字tk小部件都适用于ttk小部件。

先谢谢所有人,

1 个答案:

答案 0 :(得分:1)

通常只有在发布问题后才能找到您正在寻找的答案。 。

我错过了mainframe.columnconfigure()中的关键字。关键字pad足够有趣(-.-)。即:mainframe.columnconfigure((0,1), weight=1, pad=5)将配置列0到1,每个列的权重为1(如果是拉伸),另外一个5像素的填充将添加到 这些列中的最大单元格,导致帧之间的空间。

编辑:或者,网格命令本身也有一个padx和pady选项:the_label.grid(row=0, column=1, padx=10) - Bryan Oakley

希望这可以帮助别人。