为什么这个ttk.Separator不能正常扩展?

时间:2017-03-02 19:47:10

标签: python tkinter ttk

由于某种原因,垂直分隔符不会扩展。这就是我所做的:

from Tkinter import *
from ttk import Separator

root = Tk()

Label(root, text='Apples').grid(column=0, row=0)
Label(root, text='Oranges').grid(column=2, row=0)
Label(root, text='Pears').grid(column=4, row=0)
Label(root, text='Cherries').grid(column=0, row=2)
Label(root, text='Avocados').grid(column=2, row=2)
Label(root, text='Bananas').grid(column=4, row=2)
Separator(root, orient=HORIZONTAL).grid(row=1, columnspan=10, sticky=(W,E))
Separator(root, orient=VERTICAL).grid(column=1, rowspan=3, sticky=(S,N))

mainloop()

结果如下:

Separator

正如您在窗口左下方看到的那样,垂直分隔符看起来像一条小线。如何使用.grid()方法展开它?

奖金问题:在第3列添加第二个垂直分隔符的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

当您指定rowspan时,表示小部件将跨越其行以及下面的任何行。因为您没有指定行,所以分隔符位于第3行。

要解决此问题,请指定第0行:

Separator(root, orient=VERTICAL).grid(row = 0, column=1, rowspan=3, sticky=(S,N))

至于奖金问题,您按照第一个分隔符的方式添加另一个分隔符。

Separator(root, orient=VERTICAL).grid(row = 0, column=3, rowspan=3, sticky=(S,N))