Python多个树视图

时间:2014-07-27 15:28:18

标签: python tkinter treeview ttk

我正在尝试使用tkinter制作GUI。我怎样才能有3个树视图 - 两个在顶部并排,第三个在底部的两个树视图下方的底部。我设法得到了2个并排。我提供了前两个的左边值,但是当我使用底部的第三个时,它出现在前两个树视图的中间。

container = ttk.Frame()
container.pack(fill='both', expand=True, side=side)
self.tree = ttk.Treeview()

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

当您放置左上角和右上角树状视图窗口小部件时,请使用side=LEFT打包,以便将其从left打包到right。 (如果你先装好一个,你也可以使用side=RIGHT。)

除此之外,从上到下包装。 (使用side=TOP打包或省略side

from Tkinter import *
import ttk

# In Python 3.x
#from tkinter import *
#from tkinter import ttk

root = Tk()

upper_container = Frame(root)
upper_container.pack()

left_tree = ttk.Treeview(upper_container)
left_tree.pack(side=LEFT)
right_tree = ttk.Treeview(upper_container)
right_tree.pack(side=LEFT)

lower_tree = ttk.Treeview(root)
lower_tree.pack()

root.mainloop()

enter image description here

<强>更新

更新版本,允许用户使用PanedWindow调整上/下区域的大小。

from Tkinter import *
import ttk

# In Python 3.x
#from tkinter import *
#from tkinter import ttk

root = Tk()

pane = PanedWindow(orient=VERTICAL)
pane.pack()

upper_container = Frame(pane)
upper_container.pack()

left_tree = ttk.Treeview(upper_container)
left_tree.pack(side=LEFT)
right_tree = ttk.Treeview(upper_container)
right_tree.pack(side=LEFT)

lower_tree = ttk.Treeview(pane)
lower_tree.pack()

pane.add(upper_container)
pane.add(lower_tree)

root.mainloop()